Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Как расчитать пазу на время движения по экрану из одной точки в другую

Страниц (1): [1]
 

1. Kuk - 08 Апреля, 2014 - 06:55:17 - перейти к сообщению
Персонаж в игре стабильно по центру экрана, на экране периодически появляются картинки (персонаж ходит по карте) при нахождении которых персонаж движется на их место.

Можно как то задать расчет паузы в скрипте, чтоб она была ровно такой, сколько понадобится времени чтоб персонаж дошел до картинки? Скорость движения известна.
2. Kibor - 08 Апреля, 2014 - 07:03:28 - перейти к сообщению
карта не двигается?
3. Kuk - 08 Апреля, 2014 - 07:16:36 - перейти к сообщению
 Kibor пишет:
карта не двигается?


Карта выходит за границы монитора - двигается
4. Kibor - 08 Апреля, 2014 - 07:41:46 - перейти к сообщению
Можно реализовать через finddynamic.
Во время движения проверять часть экрана на изменение. Как только изменений нет - перс добежал - экран перестал двигаться.
5. Kuk - 08 Апреля, 2014 - 08:07:22 - перейти к сообщению
 Kibor пишет:
Можно реализовать через finddynamic.
Во время движения проверять часть экрана на изменение. Как только изменений нет - перс добежал - экран перестал двигаться.


Используется findimage, и динамика на экране почти всегда есть...

Я предположил, что паузу можно высчитать так:
1. Рассчитываем расстояние между персом (он всегда в центре экрана) и найденным изображением (как расстояние между двумя точками в системе прямоугольных координат) - S
2. Скорость передвижения мне известна: 3,5 см в секунду = 132 пикселя - V
3. Пауза тогда будет равняться T=S/V

Если я прав, то как это рассчитать в Киборе правильно?
6. Kuk - 12 Апреля, 2014 - 08:05:24 - перейти к сообщению
Камрады, подскажите плиз!
7. Kibor - 12 Апреля, 2014 - 08:38:35 - перейти к сообщению
Что подсказать? Надо узнать координаты перса и точки куда бежать
после вычислить расстояние между ними.
потом надо вычислить время за которое преодолевает определенный участок
потом вычислять можно
CODE:
int xr, yr;//расстояние от перса до точки по x и y..
int v_r=1000;//Время на преодоление опреденной длины расстояния
int rast=1000;//расстояние которое преодалил за время v_r (например 1000 миллиметров)
int r=sqrt(xr*xr+yr*yr);//Тут расстояние от перса до точки куда бежит

int vremya=r/rast*v_r;//Время за которое пройдет расстояние от перса до точки


типа этого
8. Kuk - 13 Апреля, 2014 - 07:45:53 - перейти к сообщению
 Kibor пишет:
Что подсказать? Надо узнать координаты перса и точки куда бежать
после вычислить расстояние между ними.
потом надо вычислить время за которое преодолевает определенный участок
потом вычислять можно
CODE:
int xr, yr;//расстояние от перса до точки по x и y..
int v_r=1000;//Время на преодоление опреденной длины расстояния
int rast=1000;//расстояние которое преодалил за время v_r (например 1000 миллиметров)
int r=sqrt(xr*xr+yr*yr);//Тут расстояние от перса до точки куда бежит

int vremya=r/rast*v_r;//Время за которое пройдет расстояние от перса до точки


типа этого


Спасибо! Работает! У меня не правильный синтаксис формулы был.

Powered by ExBB FM 1.0 Final