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

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

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

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




Оцени работу

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

  • Отчёт оценивали:
    4004Елена+1   5649Максим Лапшинов+1   10494Алексей В.+1   459Сергей Сергеевич+1   689Igorenzia+1   3747Сергей+1   9237Mais+1   1Евгений Волосатов+1   6452Кирилл Шмойлов+1   5257Антон+1   4395Денис+1   4467Alcatraz+1   4963blackfox990+1   7645Александр Львович+1   4992Николай+1   10447Давид0   10233Виталий+1   9263Андрей Н.+1   6203Николай (nick27m)+1   3397Sergey+1   6614Александр+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Перемещению фигуры - кружка.
Трудности: Главное - разобраться) Чтобы все правильно работало.
Как я понял: то есть мы создаем кружок с начальными координатами (в данном случае с координатами 0;0), потом его перемещаем в новые координаты относительно начальных (circle.Move(new Pixel(100,100))) и потом снова идет перемещение кружка в новую позицию вновь от начальных координат (так как они инициализируются в конструкторе при создании кружка), верно?
Научился:  Приплюсовывать смещение к координатам.
Трудности: Понимание 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% показывало.