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

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

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

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

    Вопрос для перехода к следующему уроку:
    Что нужно изменить в этой программе, чтобы мы могли
    а) перемещать снеговика;
    б) поворачивать снеговика;
    в) изменять размер снеговика.
  • Дата отправки отчёта: 6 октября 2015 г.
  • Задание выполнено: за 15 мин.
  • Чему научился: Добавил второго снеговика, путем смещения координат '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), которые устанавливают абсолютные значения необходимых полей.
  • Оценка видео-уроку:
Отчёт от 7276 за Теория ООП / Второй Снеговик




Оцени работу

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

  • Отчёт оценивали:
    6885lomik+1   6458Илья+1   1Евгений Волосатов+1   4395Денис+1   459Сергей Сергеевич+1   2457kristalic+1   3664данила+1   7442Сергей+1   6203Николай (nick27m)+1   6452Кирилл Шмойлов+1   6709Саша+1   4004Елена+1   7303Игорь+1   6391Владимир+1   5882Александр Широков+1   1947Denis+1   5705Андрей +1   6919Anton Sozykin+1   7048IvanDivan+1   2912Игорь+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Научился создавать второй спрайт, состоящий из нескольких объектов.
Большое спасибо! Замечаний нет. Чтобы перемещать снеговика, нужно менять переменную delta A = new Pixel(219 + delta1, 63 + delta2); Чтобы поворачивать снеговика, нужно задать центр поворота и каким-то образом определять расстояния от цента до каждой точки. Чтобы изменять размер снеговика, нужно добавить коэффициент A = new Pixel(219 * gamma, 63 * gamma);
Научился: Повторил материал прошлых уроков.
Трудности: Ничего сложного не было. Только немного запутался в координатах.
Вопросов пока что нет. Замечательный урок, спасибо! Ответы на вопросы: 1. Для перемещения снеговика ( велосипеда ) необходимо менять значения координат. При этом нужно каждый раз перерисовывать изображение. 2. Честно говоря не представляю, как можно повернуть 2D изображение. Но предположу, что опять же надо изменять значение координат, причём одна или несколько из них меняться не должны, так как поворачиваться изображение должно относительно этих координат ( координаты ). 3. Для изменения размеров рисунка необходимо создать функцию, которая будет изменять размеры базовых фигур, из которых состоит рисунок. Кроме этого можно сделать какой-нибудь интерфейс. Например можно изменять размеры элементов через с помощью Trackbar или же использовать TextBox-ы, вводя значения вручную. Как еще один вариант, можно сделать изменение размеров рисунка при изменении размеров формы.