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

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

Теория ООП / Второй Снеговик

  • На этом уроке мы создадим второй спрайт -
    ещё одного снеговика, но разноцветного.

    Вопрос для перехода к следующему уроку:
    Что нужно изменить в этой программе, чтобы мы могли
    а) перемещать снеговика;
    б) поворачивать снеговика;
    в) изменять размер снеговика.
  • Дата отправки отчёта: 10 августа 2016 г.
  • Задание выполнено: за 15 мин.
  • Чему научился: все ок)
  • Что было сложным: все ок)
  • Комментарии: чтобы смешать и поворачивать можно повернуть координатную сетку
    vec2 rotate(vec2 point, float angle){
              vec2 rotated_point;
              rotated_point.x = point.x * cos(angle) - point.y * sin(angle);
              rotated_point.y = point.x * sin(angle) + point.y * cos(angle);
              return rotated_point;
    }
    для оси X (1,0) и оси Y(0,1), angel произвольный.
    а потом вычислять координаты точек как x(a,b) + y(c,d) = (newX, newY)
    масштабирование скорее всего тоже можно так сделать только сетку по другому изменять
    Все это делается в Draw.
  • Оценка видео-уроку:
Отчёт от 10671 за Теория ООП / Второй Снеговик




Оцени работу

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

  • Отчёт оценивали:
    10671Александр Б.+1   3506Алексей|BrisK|Кривицкий+1   8275Tekashnik+1   9263Андрей Н.+1   10670Сергей Соколов+1   689Igorenzia+1   459Сергей Сергеевич+1   4395Денис+1   9237Mais+1   7119Новопашин Владимир+1   10494Алексей В.+1   4699Сергей Витальевич+1   4992Николай+1   9971Юрий+1   1Евгений Волосатов+1   4467Alcatraz+1   7276Ильшат+1   4004Елена+1   3747Сергей+1   9323Алексей+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Что нужно изменить в этой программе, чтобы мы могли а) перемещать снеговика; добавить offset б) поворачивать снеговика; добавить rotation и его логику в) изменять размер снеговика. добавить scale
У нас уже 2 снеговика)
Научился: Добавил второго снеговика, путем смещения координат 'x' базовых точек первого снеговика.
Трудности: Сложностей не было.
Для начала, для удобства, можно создать класс SnowMan, где, в качестве полей определены: x, y - координаты верхнего-левого угла снеговика; angle_x, angle_y - текущие углы поворота снеговика относительно осей x, y; scale_x, scale_y - коэффициенты масштабирования относительно осей x, y. 1) для перемещения можно добавить функцию move(int dx, int dy) {x += dx; y += dy;} 2) для поворота можно добавить функцию rotate(int rx, int ry) { angle_x += rx; angle_y += ry; } 3) для изменения размеров можно добавить функцию scale(int sx, int sy) {scale_x *= sx; scale_y *= sy;} Кроме того, можно добавить функции set_position(int x, int y), set_rotation(int rx, int ry), set_scale(int sx, int sy), которые устанавливают абсолютные значения необходимых полей.