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

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

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

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

    Вопрос для перехода к следующему уроку:
    Что нужно изменить в этой программе, чтобы мы могли
    а) перемещать снеговика;
    б) поворачивать снеговика;
    в) изменять размер снеговика.
  • Дата отправки отчёта: 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   6452Lik_Kirill+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#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Риcoвать разноцветнoго cнeговика рядом с первым. Я думаю нужно завязать переменную delta c кнопкой перемещения (право-лево-вверх вниз) , а поворот сделать как delta умноженная на косинус либо синус угла.
Трудности: Ничего. Кроме как увязать delta с движком.
Все ОК.
Научился: Всё уже знал
Трудности: Ничего.
Вы по сути ответили на вопрос, который задали. Действительно - вся фигура должна обсчитываться относительно одной точки. То есть функция рисования фигуры будет принимать 4 значения (точка отсчета, первая точка, вторая точка, цвет). Точка отсчета - это для всех фигур одного снеговика одинакова. первая и вторая точки это для квадрата углы к примеру. ну цвет - это цвет. Надо сдвинуть - сдвигаем одну точку - точку отсчета. Если хочется поворачивать - придется считать синусы. То есть у нас есть вектор с координатами. По известным координатам можно его "дополнить до треугольника", вычислить синус угла, вычислить синус необходимого угла, из него выразить координаты... Ну вобщем можно если заморочиться.. На счет поворачивать - не знаю как. У нас объект 2D, такие обычно не поворачивают.