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

Формула программиста
основатель — Волосатов Евгений Витольдович

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

  • На этом уроке мы начнём реализовывать идею перемещения спрайтов.
    Начнём, как обычно, с простого. Научимся перемещать один кружок.
  • Дата отправки отчёта: 20 октября 2015 г.
  • Задание выполнено: за 30 мин.
  • Чему научился: Перемещать кружок
  • Что было сложным: Не было сложностей
  • Комментарии: Замечаний нет
  • Оценка видео-уроку:
Отчёт от 5419 за Теория ООП / Перемещение круга




Оцени работу

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

  • Отчёт оценивали:
    4004Елена+1   3747Сергей+1   4889Валера Луцевич+1   4763Фёдор0   791Валерий Жданов+1   1Евгений Волосатов+1   1947Denis+1   6282Михаил+1   459Сергей Сергеевич+1   5705Андрей +1   6458Илья+1   3664данила+1   5882Александр Широков+1   7645Александр Львович0   7226Наталья+1   5029Андрей Поляков+1   6203Николай (nick27m)+1   4736Евгений+1   6391Владимир+1   1232Фомичева Наталья+1   6885lomik+1   6452Кирилл Шмойлов+1  

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился:  Приплюсовывать смещение к координатам.
Трудности: Понимание 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% показывало.
Научился: Применил virtual. (проверил его работу)
Считаю, что удобнее инициализировать position=startPosition в конструкторе, а далее в методу move изменять только position и при рисовании перемещать фигуру на (position). Таким образом мы имеем базовую точку не привязанную к нулю, а в привязанную к фигуре. PS у снеговика position считал как среднее значение координат все фигур спрайта.(на фото отмечена окружностью с R=1 ) Спасибо.