На этом уроке мы добавим таймер и реализуем полёт снаряда через функцию его события. Для этого в функцию таймера нужно будет разместить внутренности цикла, а также добавить проверки на начало и окончание полёта снаряда. Потом мы оформим полёт снаряда в ту клетку моря, по которой был щелчёк мышки.
Дата отправки отчёта:
29 августа 2015 г.
Задание выполнено: за
3 час. 30 мин.
Чему научился:
Прокачал навыки работы с таймером, формирование координат вылета снаряда, повторил расчет формулы ячейки
Что было сложным:
Сложностей слава Богу не было, немного запутался в формулах "обратного расчета", но разобрался
Комментарии:
Вот и подошел я к финальному аккорду "капитана Блада", в отчете кроме скриншота экрана есть видео именно по этой части программы. Я программку немного дополнил от себя: сделал возможность выбора - чем стрелять, добавил режим "Таверна" для пиратского отдыха (подробнее на видео). Ссылку на архив программы я тоже выкладываю, но хочу предупредить - из-за большого объема исходной информации сжатие произведено архиватором 7z, и чтобы распаковать, нужно установить себе этот архиватор. До новых встреч!
Архив проекта:Ссылка доступна после самостоятельного выполнения этого урока
Научился: Использование Math.sqrt, динамический расчет времени анимации в зависимости от скорости снаряда и расстояния полета. Трудности: Сложностей не было. В моем случае нет таймера, анимация встроена в сам язык QML и мне достаточно задать начальное, конечное значение переменной и время анимации; удобный подход. Меня не устраивало то, что снаряд двигается с разными скоростями в зависимости от требуемого расстояния, то есть время анимации жестко задано и период срабатывания "таймера" управляет скоростью снаряда. Кроме того, предложенный в уроке способ подбора значений для сокращения чисел в формулах это конечно круто, магия и все дела, но в данном случае движение снаряда описывается обычными физическими законами - кинематикой. Как известно, координаты объекта в случае равномерного движения вычисляются по простой формуле, s = s0 + vt. Необходимо выразить t и установить в качестве времени анимации, остальные переменные известны.
Научился: Узнал как поставить таймер для анимации. Повторил определения координат клика мыши. Тяжело пока с формулами... ) Трудности: формулы... сам бы не допёр. без