|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.10.2011, 08:30 | #1 |
Пользователь
Регистрация: 28.03.2011
Сообщений: 32
|
Движение разных Image (не могу продумать реализацию)
Не могу продумать реализацию вот такой программы:
Есть аэропорт, в нем есть стоянка самолетов, рулежные дорожки, взлетная полоса, и сами самолеты (5 штук). Они могут взлетать, и садиться, пользователь выбирает в выпадающем списке номер самолета и номер дорожки, по которой он будет взлетать, либо по которой будет садиться. Чтобы было понятнее, вот скриншот того, что есть сейчас. (справа для взлета полосы, слева посадочные). Я не могу осилить реализацию движения Была идея с таймерами, но мне потребуется ОЧЕНЬ много таймеров. (т.е. по каждому отрезку пути, для каждого самолета и варианта попадания его на дорожку нужен будет отдельный таймер). Была идея сделать через while. (чтото вроде Код:
Есть у кого идеи ? Может какую внешнию либу, или простейший граф движок использовать для движения ? |
24.10.2011, 08:40 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Используйте конструкцию:
Код:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
24.10.2011, 09:09 | #3 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Цитата:
Все управление просто меняет данный атрибут (скорость в тиках). скорость рассматривается как вектор (имеет направление и величину).
программа — запись алгоритма на языке понятном транслятору
|
|
24.10.2011, 10:28 | #4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
У таймеров есть один недостаток. Если перерисовка объекта занимает время, большее чем один тик, он продлевает своё время на величину следующего. В связи с этим может происходить частичная (иногда и полная) синхронизация движения объектов.
В рекомендуемом мной способе, задержка движения задаётся в структуре самого объекта, поэтому синхронизации не происходит.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
24.10.2011, 20:26 | #5 |
Пользователь
Регистрация: 28.03.2011
Сообщений: 32
|
Народ, вы не поняли (ну или я криво выразился) : мне надо двигать самолеты на вместе, а независимо, отдельно друг от друга. Потому я собственно и не вижу способа засунуть все в один таймер.
Про Application->OnIdle тоже неясно: на первый взгляд это выглядит как тотже таймер ) |
24.10.2011, 20:39 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
24.10.2011, 21:08 | #7 |
Пользователь
Регистрация: 28.03.2011
Сообщений: 32
|
А как мне засунуть один таймер во много потоков ?
|
25.10.2011, 09:53 | #8 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
25.10.2011, 20:09 | #9 |
Пользователь
Регистрация: 28.03.2011
Сообщений: 32
|
А можно маленький пример кода ? Слабо понимаю вашу мысль. Ведь я тогда не смогу в таймере менять направление движения например.
|
25.10.2011, 23:36 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ну, пример, так пример...
пример не мой. взят на форуме. все шарики "двигаются" одним таймером. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
что значит Не могу найти реализацию метода BitBtnDobRashodОкClick? | TotKtoNado | Общие вопросы Delphi | 3 | 14.07.2011 20:42 |
Движение квадрата по наклонной плоскости. НЕ могу найти ошибку | Rocky095 | Помощь студентам | 0 | 18.01.2011 16:28 |
Как сделать движение 2-ух объектов одновременно с помощью разных клавишь? | Ckomoroh | Общие вопросы Delphi | 5 | 24.10.2009 23:34 |
Движение указателя по форме или Image | nevo | Компоненты Delphi | 5 | 06.04.2008 21:00 |