Движения за мышкой с остановкой при столкновении.
|
|
MyDreamForever | Дата: Среда, 26 Января 2011, 22:27 | Сообщение # 1 |
StrateG
Сейчас нет на сайте
| Объект летит за мышкой с мгновенной скоростью. Что-бы он не мог выходить за края я поставил вот такой код. Тут все работает. x=min(max(90,mouse_x),room_width-90) y=min(max(90,mouse_y),room_width-90) То есть он не может вылететь к краям ближе чем на 60 пикселей.(60 а не 90 потому-что у объекта который двигается за мышкой размер 60х60 а центр(origin) х30 у30. НО КАК СДЕЛАТЬ что-бы когда он подходил к стене он так же останавливался как и к краю. Параметры стены: Размер 60х60 а центр(origin) х30 у30. (Кто поможет ставлю +)
|
|
| |
ezhickovich | Дата: Среда, 26 Января 2011, 22:33 | Сообщение # 2 |
[Великий и могучий хозяинъ]
Сейчас нет на сайте
| Deniiel, А не вариант проверить есть ли препятствие на пути и зависимости от этого двигаться?
Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
|
|
| |
MyDreamForever | Дата: Среда, 26 Января 2011, 22:38 | Сообщение # 3 |
StrateG
Сейчас нет на сайте
| Quote (ezhickovich) А не вариант проверить есть ли препятствие на пути и зависимости от этого двигаться? Можно попробовать что то типо if(distance_to_object(стена)<=1) { (НО ЧТО ПИСАТЬ ЗДЕСЬ)??? }
Сообщение отредактировал Deniiel - Среда, 26 Января 2011, 22:39 |
|
| |
ezhickovich | Дата: Среда, 26 Января 2011, 22:43 | Сообщение # 4 |
[Великий и могучий хозяинъ]
Сейчас нет на сайте
| if(distance_to_object(стена)>1) { *АЗДЕСЬДВИГАЙ*!!! }
Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
|
|
| |
MyDreamForever | Дата: Среда, 26 Января 2011, 22:49 | Сообщение # 5 |
StrateG
Сейчас нет на сайте
| Quote (ezhickovich) *АЗДЕСЬДВИГАЙ*!!! Не понял, мне нужно что-бы объект просто переставал двигаться дальше.
|
|
| |
ezhickovich | Дата: Среда, 26 Января 2011, 22:58 | Сообщение # 6 |
[Великий и могучий хозяинъ]
Сейчас нет на сайте
| Quote (Deniiel) Не понял, мне нужно что-бы объект просто переставал двигаться дальше. Не понял в чём проблема... Ты смотришь, есть ли стой стороны в которую мы двигаемся что-либо, если нет, то двигаемся... П.С. Нужно смотреть именно с той стороны в которую мы двигаемся...
Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
|
|
| |
MyDreamForever | Дата: Четверг, 27 Января 2011, 10:01 | Сообщение # 7 |
StrateG
Сейчас нет на сайте
| Не знаю как реализовать.
|
|
| |
stalker5889 | Дата: Пятница, 04 Февраля 2011, 11:30 | Сообщение # 8 |
Свободный игродел
Сейчас нет на сайте
| Держи полное движение героя: if(distance_to_object(stena)>1) if keyboard_check(ord("W")) {y-=4} if(distance_to_object(stena)>1) if keyboard_check(ord("S")) {y+=4} if(distance_to_object(stena)>1) if keyboard_check(ord("A")) {x-=4} if(distance_to_object(stena)>1) if keyboard_check(ord("D")) {x+=4} image_angle=point_direction(hero.x,hero.y,mouse_x,mouse_y) P.S. С тебя плюс!
|
|
| |
TheApKoT | Дата: Пятница, 04 Февраля 2011, 11:39 | Сообщение # 9 |
GML ProgrammeR
Сейчас нет на сайте
| Deniiel, в Step попробуй Code if (distance_to_object(obj_wall)>1 { move_towards_point(mouse_x,mouse_y,15); } else { speed=0; }
Посоветуйте, где скачать VB6 :C
|
|
| |
TheApKoT | Дата: Пятница, 04 Февраля 2011, 11:39 | Сообщение # 10 |
GML ProgrammeR
Сейчас нет на сайте
| stalker5889, Quote (Deniiel) летит за мышкой с мгновенной скоростью. а не поворачивается в сторону мыши.
Посоветуйте, где скачать VB6 :C
|
|
| |
stalker5889 | Дата: Пятница, 04 Февраля 2011, 11:43 | Сообщение # 11 |
Свободный игродел
Сейчас нет на сайте
| Точно! Извините! Но смысл то в том что перед выполнением функции он проверяет if (distance_to_object(stena)>1) !
|
|
| |
TheApKoT | Дата: Пятница, 04 Февраля 2011, 11:45 | Сообщение # 12 |
GML ProgrammeR
Сейчас нет на сайте
| stalker5889, в том коде, что я дал, он тоже так делает. Перевожу на русский: Если расстояние до стены больше единицы(одного пиксела), то объект движется за мышью со скоростью 15. Иначе(если расстояние меньше одного) скорость приравнивается к нулю.
Посоветуйте, где скачать VB6 :C
|
|
| |
FixR | Дата: Пятница, 04 Февраля 2011, 19:58 | Сообщение # 13 |
частый гость
Сейчас нет на сайте
| Ага
|
|
| |