Воскресенье, 17 Ноября 2024, 14:21

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как сделать плавные движени возле стенов?
hero564Дата: Суббота, 21 Января 2012, 18:39 | Сообщение # 1
Made in Ukraine
Сейчас нет на сайте
Помогите плиз , решить проблему: делаю игру в которой нужно изменять гравитацию что проходить лаюиринты, собсна в чем проблема -как сделать чтоб обьект мог двигаться находясь на платформе , и в тоже время не проваливался, пробовал через пустое пространство (если тамто-тамто пусто то можно двигаться , иначе нельзя), но толком не понял как использовать эту функцию.
буду очень благодарен за ответ, желательно на gml

Добавлено (21.01.2012, 18:39)
---------------------------------------------
блин ошибка в названии темы.....

KRUTyaKДата: Суббота, 21 Января 2012, 18:48 | Сообщение # 2
Всегда готов!
Сейчас нет на сайте
Может сначала ошибки в текте исправишь, есть словари там разные... или у тебя игра будет типа "Новаи гроэ" "настрки" и т.п. ???

Добавлено (21.01.2012, 18:48)
---------------------------------------------
Но если что я не в обиду тебе, а как совет... кстати по вопросу помочь не могу ГМ не пользуюсь...

hero564Дата: Суббота, 21 Января 2012, 18:50 | Сообщение # 3
Made in Ukraine
Сейчас нет на сайте
Quote (KRUTyaK)
Может сначала ошибки в текте исправишь, есть словари там разные... или у тебя игра будет типа "Новаи гроэ" "настрки" и т.п. ???

KRUTyaK, знаю что с ошибками спешу просто, так руский язык немного знаю , хоть и с украины
ArtGrДата: Суббота, 21 Января 2012, 19:04 | Сообщение # 4
старожил
Сейчас нет на сайте
Quote (hero564)
KRUTyaK, знаю что с ошибками спешу просто, так руский язык немного знаю , хоть и с украины


Это не оправдание.
Україна пишеться з великої літери.



... ла-ла-ла-ла-ла-ла-ла-ла! :-)
hero564Дата: Суббота, 21 Января 2012, 19:12 | Сообщение # 5
Made in Ukraine
Сейчас нет на сайте
ArtGr,
А я , й не оправдовуюся , якщо ти не помітив то я написав ,що швидко друкую тому і з помилками, тепер буду стараратись писати охайніше, і може нарешті допоможуть мені з моєю проблемою???


Сообщение отредактировал hero564 - Суббота, 21 Января 2012, 19:12
KRUTyaKДата: Суббота, 21 Января 2012, 19:23 | Сообщение # 6
Всегда готов!
Сейчас нет на сайте
Понял, мне тут не место. Просто на украинском вообще не говорю)))
hero564Дата: Суббота, 21 Января 2012, 19:25 | Сообщение # 7
Made in Ukraine
Сейчас нет на сайте
KRUTyaK, причем здесь это? Просто мне реально нужна помощь , а мы пока только флуд разводим
AikidosДата: Суббота, 21 Января 2012, 19:41 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Я делал так. Создавал область вокруг персонажа и вокруг препятствия (ректангл, к примеру). Так вот. Если нажимаешь перемещение (или, к примеру, происходит расчёт гравитации), то сначала область эта (вокруг персонажа), как бы перемещается и проверяется будет ли столкновение. Если будет, то не перемещаем персонажа. Так перс не будет застревать в стене. Если гравитация, то если так же обнаруживается столкновение, то след. позицией персонажа будет над платформой, а не (к примеру) player.x += player.speed (иначе произойдет провал перса в платформу). Описал поверхностно, но думаю ты меня поймешь. С GM'ом не работал.

Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
hero564Дата: Суббота, 21 Января 2012, 19:52 | Сообщение # 9
Made in Ukraine
Сейчас нет на сайте
Aikidos, спасибо, за ответ, но как то очень муторно получается , и у меня причина не с "застреванием" персонажа а с тем что допустим , стоит персонаж на платформе если нужно пригнуть, то он прыгает , а если просто идти по платформе, то не получается
LunarPixelДата: Суббота, 21 Января 2012, 20:07 | Сообщение # 10
старожил
Сейчас нет на сайте
hero564, если я правильно понял проблему, то это должно помочь

hero564Дата: Суббота, 21 Января 2012, 20:47 | Сообщение # 11
Made in Ukraine
Сейчас нет на сайте
LunarPixel, действительно помогла немного статья , теперь вот какая проблема
Code
if keyboard_check_pressed(vk_up)     // Клавиша вверх начало  
   {  gravity_direction = 90; // Направление гравитации
   if place_free(x,y+3)       // Если над обьектом свободно ,  
     gravity = 0.5            // то устанавливаем силу гравитации
   else
     gravity = 0}//если над обьектом занято место то мы не взлетаем; клавиша вверх конец

if keyboard_check_pressed(vk_down)     // Клавиша книз начало  
   {  gravity_direction = 270; // Направление гравитации
   if place_free(x,y-3)       // Если под обьектом свободно ,  
     gravity =-0.5            // то устанавливаем силу гравитации
   else
     gravity = 0}//если под обьектом занято место то мы не падаем; клавиша вниз конец

когда нажимаю вверх все работает как надо, но когда нажимаю вниз , то ничего не происходит , подскажите как решить плиз
BrightSpotДата: Среда, 25 Января 2012, 15:51 | Сообщение # 12
заслуженный участник
Сейчас нет на сайте
Или мне показалось и я совсем ГМЛ забыл или в примере кода выше при нажатии на кл_вверх направление гравитации 90 и гравитация 0.5, а при нажатии вниз направление противоположное и гравитация противоположная...какбы - на - получается... по идее в нужно при нажатии клавиши вниз или направление 90ставить или в гравити "-" убрать=)) иначе он разве что застрять в потолке может...

Добавлено (25.01.2012, 15:51)
---------------------------------------------
еще меня place_free немного смущает... кажется проверка в обоих случаях не в ту сторону направлена(или у координата снизу вверх всегда определялась?)



Более мощный компьютер глючит быстрее и точнее.
cosferapsДата: Среда, 25 Января 2012, 17:31 | Сообщение # 13
почетный гость
Сейчас нет на сайте
hero564,
BrightSpot, полностью прав cool
Code
if keyboard_check_pressed(vk_up)     // Клавиша вверх начало    
     {  gravity_direction = 90; // Направление гравитации   
     if place_free(x,y-3)       // Если над обьектом свободно ,    
       gravity = 0.5            // то устанавливаем силу гравитации   
     else   
       gravity = 0}//если над обьектом занято место то мы не взлетаем; клавиша вверх конец   

   if keyboard_check_pressed(vk_down)     // Клавиша книз начало    
     {  gravity_direction = 270; // Направление гравитации   
     if place_free(x,y+3)       // Если под обьектом свободно ,    
       gravity =0.5            // то устанавливаем силу гравитации   
     else   
       gravity = 0}//если под обьектом занято место то мы не падаем; клавиша вниз конец

hero564, вот, обрати внимание на изменения smile


GMS MC

Сообщение отредактировал cosferaps - Среда, 25 Января 2012, 17:32
  • Страница 1 из 1
  • 1
Поиск:

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