Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ Работа с Canvas (движение) в Delphi

Автор: *_ViruS_* 20.3.2007, 19:40

С помощью lineto, moveto нарисован самолет на Delphi летящий с заданым ускорением.
Нужно сделать что-бы он по нажатию на Button скидывал бомбы вниз.
Помогите, плиз.

Сорцы прикреплены в файле.


Прикрепленные файлы
Прикрепленный файл  Airplane.zip ( 9.72 килобайт ) Кол-во скачиваний: 229

Автор: *_ViruS_* 20.3.2007, 22:02

Вот посидел, поработал. Что-то получилось.
Мож кому-то пригодиться.


Прикрепленные файлы
Прикрепленный файл  Airplane_2.zip ( 9.53 килобайт ) Кол-во скачиваний: 266

Автор: Black Ghost 20.3.2007, 23:02

Занятная задачка...
Если уж рисовать на канве формы, то с помощью одного таймера, к тому же бомба должна лететь по параболе... при этом начальная скорость бомбы равна горизонтальной скорости самолета
Там надо играться с константами масштаба, скорости, ускорения...

Автор: *_ViruS_* 21.3.2007, 12:09

Надо, но это пока все, чего удалось достич вчера.
Мож кто-то поможет дописать?

Автор: Black Ghost 21.3.2007, 15:05

Упс... huh.gif я забыл прикрепить файл с исходником, только вечером теперь смогу прикрепить

Автор: Руководитель проекта 21.3.2007, 17:00

Цитата(Black Ghost @ 21.3.2007, 18:05) *

Упс... huh.gif я забыл прикрепить файл с исходником, только вечером теперь смогу прикрепить

18:05 - это у вас утро? smile.gif

Автор: Black Ghost 21.3.2007, 17:13

18.05 -это по моим меркам еще день (в смысле светло за окном), у меня вечер начинается где-то в 21.00 biggrin.gif

Автор: *_ViruS_* 21.3.2007, 17:44

Ок. Буду ждать сорц.

Автор: Black Ghost 21.3.2007, 18:29

вот...
если отключить комаду form1.refresh, то будет видна траектория полета


Прикрепленные файлы
Прикрепленный файл  Airplane_1.zip ( 12.44 килобайт ) Кол-во скачиваний: 190

Автор: *_ViruS_* 22.3.2007, 0:02

Работает. Огромное спасибо.
Но, если ввести в поле Edit1, Edit2 не целое число, то вылезает ошибка

Цитата
Debugger exception Notofication
Project AppName.exe raised exception class EConvertError with message "0.01' is not a valid floating point value'. Process stopped.

Автор: *_ViruS_* 22.3.2007, 14:55

Можно сделать что-бы можно было сбрасывать несколько бомб?

Автор: Black Ghost 22.3.2007, 17:28

Цитата
Debugger exception Notofication
Project AppName.exe raised exception class EConvertError with message "0.01' is not a valid floating point value'. Process stopped.

а это у Вас разделителем по умолчанию является запятая, эту опцию можно поменять в панель управления-> язык и стандарты вкладка "числа"

Наверное, можно сделать и несколько бомб...

Автор: *_ViruS_* 22.3.2007, 18:17

Цитата(Black Ghost @ 22.3.2007, 17:28) *

а это у Вас разделителем по умолчанию является запятая, эту опцию можно поменять в панель управления-> язык и стандарты вкладка "числа"

Действительно, уже хотел спать и не заметил такую простинькую ошибочку
Цитата(Black Ghost @ 22.3.2007, 17:28) *

Наверное, можно сделать и несколько бомб...

Не подскажете как? Я когда делал, то у меня одна и таже бомба просто заново рисовалась, но эт не то, что нужно.

Автор: Black Ghost 22.3.2007, 19:00

Подумать надо...
это же надо рисовать с помощью одного таймера, потому что когда разные таймеры начинаешь включать и делаешь form1.refresh, ерунда получается... стирается то, что не должно стираться

Автор: *_ViruS_* 28.3.2007, 17:54

Мож еще кто-нить чем-то поможет?

Автор: Black Ghost 31.3.2007, 14:24

Может не мучиться и оставить вертикальное падение бомб
Это же не "Ил-2" всё-таки... smile.gif

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)