Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Теория ООП / Перемещение круга

  • На этом уроке мы начнём реализовывать идею перемещения спрайтов.
    Начнём, как обычно, с простого. Научимся перемещать один кружок.
  • Дата отправки отчёта: 16 мая 2017 г.
  • Задание выполнено: за 15 мин.
  • Чему научился: Приплюсовывать  смещение к координатам.
  • Что было сложным: Понимание
            private void Demo()
            {
                A = new Pixel(0, 0);
                circle = new Circle(A, 20);
                circle.SetGraphics(graph);
                circle.Move(new Pixel(100, 100));
                circle.Draw();
                picture.Image = bmp;
            }
  • Комментарии: Так и не понял, почему надо указывать 0,0. Это нелогично. Получается, что центр круга как бы сначала на 0.0, потом создается этот круг, но он еще не отрисован на холсте.
    Потом вызывается move с новыми координатами. Потом оно отрисовывается в памяти и только потом весь буфер с картинкой отображается на холсте.

    С моей точки зрения логичней было бы в методе move задавать не новые координаты, а смещение относительно текущих. Ну это как абсолютное и относительное значение. Но это чисто я так думаю.
    У каждого мозги по-разному работают.

    А еще я думал, что надо действительно к координатам каждой точки прибавлять смещение position, поэтому я в одном из прошлых каментов и писал, что это привело бы к сильному замедлению отрисовки. А оказывается, что проще и правильней просто в каждом классе примитива один раз прибавить это смещение.

    Вот за это мне и нравится этот курс, т.к. постепенно видно почему сделано так, а не этак. Я бы вот ни за что не догадался, как это все вот так красиво сделать. В голове вроде есть какое-то представление, а оказывается, что все делается куда проще и правильней.

    В других курсах просто преподносят что-то как факт. Типа делай так, потому что так надо. Поэтому я другие курсы смотрел и не досмотрел, а уж о практике и речи не было. А тут вон глаз закрывается уже, а решил добить этот урок, чтобы уже 50% показывало.
  • Оценка видео-уроку:
Отчёт от 10588 за Теория ООП / Перемещение круга




Оцени работу

 
Сохранить страницу:

10558. --
Иван Воронин
Иван Воронин
ответить
→  kalobyte  # Теория ООП / Перемещение круга / 2017-05-17 01:04

Молодец, в этом и сила данного проекта, что упор на практику и эксперименты для наглядности. Но никто не мешает проводить дополнительные эксперименты если есть какие либо сомнения, предоставляя свою версию на скриншотах и/или видео.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  kalobyte  # Теория ООП / Перемещение круга / 2017-05-17 15:22

Процентный фактор мотивирует. :)



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Создал метод move в классе Shape. Добавил кнопку, при нажатии на которую вызывается метод move и окружность рисуется по новым координатам.



Научился: Все понятно: создаем точку и окружность в Demo и там же перемещаем её на 100.100. Потом, по нажатию кнопки при вызове Move меняем значение position и отрисовываем окружность с прибавленной position.
Трудности: Ничего, но туго до меня доходит связь между классом shape и классами фигур. Постоянно ищу методы или поля в одних классах и обнаруживаю их в классах-предках.