Персонаж в игре стабильно по центру экрана, на экране периодически появляются картинки (персонаж ходит по карте) при нахождении которых персонаж движется на их место.
Можно как то задать расчет паузы в скрипте, чтоб она была ровно такой, сколько понадобится времени чтоб персонаж дошел до картинки? Скорость движения известна.
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;//Время за которое пройдет расстояние от перса до точки
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;//Время за которое пройдет расстояние от перса до точки
int v_r=1000;//Время на преодоление опреденной длины расстояния
int rast=1000;//расстояние которое преодалил за время v_r (например 1000 миллиметров)
int r=sqrt(xr*xr+yr*yr);//Тут расстояние от перса до точки куда бежит
int vremya=r/rast*v_r;//Время за которое пройдет расстояние от перса до точки
типа этого
Спасибо! Работает! У меня не правильный синтаксис формулы был.