Game Maker Физика
|
|
rid32 | Дата: Пятница, 01 Августа 2014, 19:06 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Доброго времени суток всем. В GM Studio есть встроенная физика объектов которые взаимодействуют своей внешней поверхностью ( collision shape ).
Как сделать проверку по маске объекта ? Что бы можно было помещать объект внутрь объекта.
Рисунок пример https://pp.vk.me/c618222/v618222463/1172e/J3Ja8c2YXIo.jpg
Мой исходник скачать
Насколько я понял, проблема в том, что поворот кольца не определяется при проверке касания его зеленым шариком.
Сообщение отредактировал rid32 - Воскресенье, 03 Августа 2014, 09:17 |
|
| |
Raven84 | Дата: Пятница, 01 Августа 2014, 19:34 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Интересный вопрос! Никогда не задавался такой целью. Да и сам такого пока не реализовывал,но думаю тебе копать нужно в этом направлении: physics_fixture_set_chain_shape.Добавлено (01.08.2014, 19:34) --------------------------------------------- Хотя в физике GMS нельзя использовать ВОГНУТЫЕ многоугольники. Я думаю тут только из нескольких частей составлять. Лично я другого варианта не вижу.
Super Knight Story (в разработке) Idolzzz - игра доступна в Steam и Play Market Oliver's Adventures in the Fairyland
|
|
| |
rid32 | Дата: Суббота, 02 Августа 2014, 07:39 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Цитата Raven84 ( ) Хотя в физике GMS нельзя использовать ВОГНУТЫЕ многоугольники. Я думаю тут только из нескольких частей составлять. Лично я другого варианта не вижу.
я так и предполагал, но у меня получится слишком много объектов тогда. поэтому и спрашиваю пример по маске.
|
|
| |
Renus | Дата: Суббота, 02 Августа 2014, 13:50 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| rid32, я щас активно копаю физику, и на сколько я знаю Raven84, абсолютно прав, вогнутые формы box2d не поддерживает... А значит единственный способ засунуть один объект в другой, это сделать внешний объект составным из нескольких простых.
|
|
| |
Raven84 | Дата: Суббота, 02 Августа 2014, 15:19 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| Ну вообще, насколько я знаю, в Box2D так и делается вроде. Не важно в Game Maker'e ты используешь ее или еще где. Простых путей не бывает. Единственно: все эти объекты лепить естественно не вручную, а написать скрипт,чтобы они (прямоугольники) к примеру по окружности располагались,один у другого. Ну короче тут я не помощник. Удачи в поиске решения. Если удастся найти другой вариант-отпишись.Я думаю многим пригодится.
Super Knight Story (в разработке) Idolzzz - игра доступна в Steam и Play Market Oliver's Adventures in the Fairyland
|
|
| |
rid32 | Дата: Суббота, 02 Августа 2014, 17:59 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Raven84, было бы замечательно.
есть вот такая функция draw_getpixel(x,y)
возвращает цвет пикселя, но после отрисовки всех слоев, а как проверить цвет пикселя на конкретном слое ?
можно было бы извратиться тогда своим движком физики ...
|
|
| |
Raven84 | Дата: Суббота, 02 Августа 2014, 18:14 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| Не думаю,что это поможет. draw_getpixel - один из самых тормознутых операторов в GMS. Даже сами разработчики из YoYoGames советуют свести к минимуму его использование. А представь сколько раз нужно будет проверять цвет пикселя за один шаг (точнее сколько пикселей прийдется проверить за шаг) !!! Это большая нагрузка я думаю. Хотя кто мешает попробовать. В этом то и прелесть программирования: паришься-паришься в итоге ничего не выходит, все бросаешь и начинаешь с нуля!
Super Knight Story (в разработке) Idolzzz - игра доступна в Steam и Play Market Oliver's Adventures in the Fairyland
|
|
| |
rid32 | Дата: Воскресенье, 03 Августа 2014, 09:22 | Сообщение # 8 |
был не раз
Сейчас нет на сайте
| Raven84, согласен, иногда такого наворотишь, что лучше бросить Renus, у меня будет много сложных объектов, из них будут уровни.
Добавил свой исходник в тему. Проблема в том, что зеленый шарик не знает как повернуто кольцо (для него оно статично), вот как это исправить ?
|
|
| |