forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   BlitzMax (http://forum.boolean.name/forumdisplay.php?f=104)
-   -   Колизии в BlitzMAX (http://forum.boolean.name/showthread.php?t=4536)

breadman 23.09.2007 19:27

Колизии в BlitzMAX
 
Если кто из названия темы решил что вопрос о проверки колизии
не вздумайте меня меня посылать в раздел FAQ!
Вопрос в другом, как сделать колизии между двумя имейджами, чтобы
один имейдж не мог пройти через другой.

Вот вам картина:
Представьте игру видом сверху, ваш персонаж может бегать по экрану
во всех направлениях, но как и по законам физики он не имеет права
пройти через другой обьект(к примеру стенку).
Вот и вопрос-КАК ЭТО СДЕЛАТЬ?

"СДЕЛАЙ МАССИВНУЮ СЕТКУ И ПРОВЕРЯЙ ПО КООРДИНАТАМ" НЕ ПРЕДЛОГАТЬ!

Данил 23.09.2007 19:30

Re: Колизии в BlitzMAX
 
кста, мне тож очень этот интересно. в моем Арроу 2 нет сетки и сделать её не получится. а декорации ой как нужны. По этому как-то надо реализовать проверку на коллизии и чтобы нельзя было проходить одному объекту в другой. По пытался сам - не получилось :( . Вот так и оставил без декораций.

jimon 23.09.2007 20:09

Re: Колизии в BlitzMAX
 
если в вашу игру нельзя что-то вставить - берите и начинайте ее заново
ето признак плохой архитектуры ;)

ну наклепайте декорацию обьектами, игрок тоже обьект
зделайте функцию collision_object_to_object
и если колижен есть то игрок не может двигатся в данную сторону
вот и все :)

надеятся на встроенные попиксельные колижены не стоит

Данил 23.09.2007 20:17

Re: Колизии в BlitzMAX
 
Имеешь ввиду, если , допустим, коллизия слева, то запрещать игроку двигатся влево?

Хм.. а эт вариант...

dimanche13 23.09.2007 20:25

Re: Колизии в BlitzMAX
 
Цитата:

Сообщение от Данил
Имеешь ввиду, если , допустим, коллизия слева, то запрещать игроку двигатся влево?

Надо не запретить двигаться влево, а придвинуть игрока к объекту и потом уж запретить двигаться влево. Существует 2 вида определения коллизий по факту(когда коллизия) проиошла и по проверке следующего шага, так называемая опережающая.

johnk 24.09.2007 03:20

Re: Колизии в BlitzMAX
 
http://www.boolean.name/showthread.php?t=3103
http://www.boolean.name/showthread.php?t=3773
http://www.boolean.name/showthread.php?t=3872
Вникай сначала в встроенные, там потом мозгами пошевели чтоб не проходил, а потом слухай джимона.

Данил 24.09.2007 10:50

Re: Колизии в BlitzMAX
 
блин, сами коллизии у мну есть. .надо чтобы один объект никак не мог войти в другой... а у тебя в туорах просто о коллизиях.. йа это давно знаю... ПРосто надо как-то сделать , чтобы один объект не мог пройти в другой.. ка в б3д....

З.Ы. чет я разошелся.. тема-то бреадмана...

moka 24.09.2007 13:55

Re: Колизии в BlitzMAX
 
Если уровень с Очень нестандартными объектами, то можешь использовать то что я давно написал, и что так и осталось без единого ответа. Тут

Значит что там есть, там только набор функций как и что делать, внимательно просмотри код, и ты найдёшь что нужно, а именно:
Написав свой небольшой редактор для уровня (расстановка линий), у тебя будет отличный уровень с очень нестандартными формами (например массивом не сделать повёрнутый на 45 градусов прямоугольник, со входом во внутрь, а юзая это можно сделать). В общем дерзай.

breadman 24.09.2007 17:39

Re: Колизии в BlitzMAX
 
=)
Чё то я давно не появлялся)
Вариант Джимона как то тприходил мне в голову, но он показался мне очень примитивным и и не правельным)
Над функциями МоКи я пока работаю.
Спасибо всем за внимание!

jimon 24.09.2007 18:29

Re: Колизии в BlitzMAX
 
breadman
вариант абстракций ООП примитивен ... ы ?


Часовой пояс GMT +4, время: 14:18.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot