Суббота, 20 Апреля 2024, 01:58

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Движения за мышкой с остановкой при столкновении.
Движения за мышкой с остановкой при столкновении.
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
Сейчас нет на сайте
Не знаю как реализовать. sad
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. С тебя плюс! biggrin


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
частый гость
Сейчас нет на сайте
Ага
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Движения за мышкой с остановкой при столкновении.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг