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

Формула программиста
основатель — Волосатов Евгений Витольдович
Вступай в Телеграм чат проекта | Обход блокировки
Игровой комплекс Сокобан - Введи код скидки

Морской флот / Анимация - Полёт по таймеру

  • На этом уроке мы добавим таймер и реализуем полёт снаряда через функцию его события.
    Для этого в функцию таймера нужно будет разместить внутренности цикла,
    а также добавить проверки на начало и окончание полёта снаряда.
    Потом мы оформим полёт снаряда в ту клетку моря, по которой был щелчёк мышки.
  • Дата отправки отчёта: 7 мая 2016 г.
  • Задание выполнено: за 1 час. 50 мин.
  • Чему научился: Использование Math.sqrt, динамический расчет времени анимации в зависимости от скорости снаряда и расстояния полета.
  • Что было сложным: Сложностей не было.
  • Комментарии: В моем случае нет таймера, анимация встроена в сам язык QML и мне достаточно задать начальное, конечное значение переменной и время анимации; удобный подход. Меня не устраивало то, что снаряд двигается с разными скоростями в зависимости от требуемого расстояния, то есть время анимации жестко задано и период срабатывания "таймера" управляет скоростью снаряда. Кроме того, предложенный в уроке способ подбора значений для сокращения чисел в формулах это конечно круто, магия и все дела, но в данном случае движение снаряда описывается обычными физическими законами - кинематикой. Как известно, координаты объекта в случае равномерного движения вычисляются по простой формуле, s = s0 + vt. Необходимо выразить t и установить в качестве времени анимации, остальные переменные известны.
  • Оценка видео-уроку:
Отчёт от 7276 за Морской флот / Анимация - Полёт по таймеру


Отчёт от 7276 за Морской флот / Анимация - Полёт по таймеру




Оцени работу

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


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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: переделал анимацию с задержкой перерисовки с помощью таймера вместо thread.sleep, настроил полёт от угла в выбранную ячейку
я немного подредактил "распределение" картинок в момент полёта таким образом, чтобы анимация взрыва происходила строго в ячейке - т.е. все фреймы, кроме последних 5, распределяются по пути от x1,y1 до x2,y2, а последние 5 рисуются в финишной ячейке (см код на рис.) хотя это тоже всё условно, в идеале надо будет перерисовывать и перерассчитывать всё заново.


Научился: использовать таймер для отображения и перемещения анимированного объекта к нужным координатам
все хорошо