| 
				
				Движения за мышкой с остановкой при столкновении.
				 | 
 | 
| 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 |  
 
частый гость 
Сейчас нет на сайте 
 
 | Ага
 |  
| 
 | 
 |    |