Как сделать плавные движени возле стенов?
|
|
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, полностью прав 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, вот, обрати внимание на изменения
GMS MC
Сообщение отредактировал cosferaps - Среда, 25 Января 2012, 17:32 |
|
| |