Game Maker - создание игр | HellRoom Games
Январь 13, 2025, 14:15:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Персонаж сталкивается с "неправильными коллиззиями/масками столкновений"  (Прочитано 2858 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MrCap4a
Новичок
*

Репутация: 0
Offline Offline

API: GameMaker Studio 2
Сообщений: 5


« : Июнь 02, 2022, 22:33:16 »

Почему-то персонаж сталкивается с несуществующими масками столкновений. Сами маски и у персонажа и у препятствий настроены верно (ни бльше ни меньше нужного), но тем не менне  игрок ударяется об воздух. На скриншоте демонстрация "границ столкновения".

Снимок.PNG
Персонаж сталкивается с "неправильными коллиззиями/масками столкновений"
* Снимок.PNG (47.6 Кб, 1312x765 - просмотрено 191 раз.)
Записан
ярик
Активный участник
*****

Репутация: 21
Offline Offline

Награды:
За постоянность! [10 дней на форуме]
API: GameMaker Studio 2
Сообщений: 396



« Ответ #1 : Июнь 03, 2022, 10:02:47 »

Как производится столкновение? Как настроены маски? Расскажите пожалуйста поподробнее о проблеме.

Записан

А че как 2 числа сравнить то это быстрее?
Вот так >? Вот так < ? Или лучше вот так sign(0)
MrCap4a
Новичок
*

Репутация: 0
Offline Offline

API: GameMaker Studio 2
Сообщений: 5


« Ответ #2 : Июнь 03, 2022, 15:33:50 »

Как производится столкновение? Как настроены маски? Расскажите пожалуйста поподробнее о проблеме.

Маски стоят по границам спрайта. На вопрос "Как производится столкновение?"не знаю как ответить) Сталкивается как обычно, но как-будто маска у игрока намного шире.

Добавлено: Июнь 03, 2022, 15:34:03
Как производится столкновение? Как настроены маски? Расскажите пожалуйста поподробнее о проблеме.

Маски стоят по границам спрайта. На вопрос "Как производится столкновение?"не знаю как ответить) Сталкивается как обычно, но как-будто маска у игрока намного шире.

Снимок2.PNG
Персонаж сталкивается с "неправильными коллиззиями/масками столкновений"
* Снимок2.PNG (154.16 Кб, 1366x728 - просмотрено 197 раз.)
Снимок2.PNG
Персонаж сталкивается с "неправильными коллиззиями/масками столкновений"
* Снимок2.PNG (154.16 Кб, 1366x728 - просмотрено 202 раз.)
Записан
AndrewVideoGames
Главный Модератор
*

Репутация: 821
Online Online

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #3 : Июнь 04, 2022, 22:20:25 »

На вопрос "Как производится столкновение?"не знаю как ответить)
Что значит не знаете, скиньте код столкновения игрока с блоком.
Почему у Вас маска столкновения при беге больше, чем при спокойствии? Таким образом у вас объект может застревать в блоках в будущем.
Записан
MrCap4a
Новичок
*

Репутация: 0
Offline Offline

API: GameMaker Studio 2
Сообщений: 5


« Ответ #4 : Июнь 04, 2022, 23:12:28 »

На вопрос "Как производится столкновение?"не знаю как ответить)
Что значит не знаете, скиньте код столкновения игрока с блоком.
Почему у Вас маска столкновения при беге больше, чем при спокойствии? Таким образом у вас объект может застревать в блоках в будущем.
Кода нет. Это встроенная в gms физика. Если ещё дописать код столкновений, то ничего не изменится. Маска стоит шире потому что спрайт больше, это я щас исправлю, спасибо.
Записан
ярик
Активный участник
*****

Репутация: 21
Offline Offline

Награды:
За постоянность! [10 дней на форуме]
API: GameMaker Studio 2
Сообщений: 396



« Ответ #5 : Июнь 05, 2022, 13:19:31 »

Встроенную физику использовать для реализации обычной гравитации и коллизии? О боже, не извращай гамак!
Убирай куда подальше свою умоподобную идею искажения Gms'а и иди блин гугли в инет.

И как говорилось ранее:
Выключите встроенную физику и в комнате и в объекте и напишите свою собственную, для платформера можно написать её самому, с простыми проверками place_meeting.

То есть залезаешь в объект игрока, а потом пишешь у него в событии STEP самый примитивный способ:
Код:
if !place_meeting(x, y + 1, стена)
{
    gravity = 0.5; // сила гравитации, подробнее в справке
}else{
    gravity = 0; // отключаем гравитацию
    speed = 0; // останавливаем объект
}

Здесь на форуме триллион созданных таких тем, не говоря уж сколько есть примеров-платформеров.
Записан

А че как 2 числа сравнить то это быстрее?
Вот так >? Вот так < ? Или лучше вот так sign(0)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.098 секунд. Запросов: 30.