Форум » Вопрос-Ответ » ultimate 3D » Ответить

ultimate 3D

BANKIR: у мну проблема: я сделал модель *.3ds, сделал обьект стул, в криэт: set variable file to 'models\stul' и Execute Script: LoadMesh . а при запуске пишет, что типа одну текстуру от модели он прочитать не может а другая чё-то там ещё. Что делать?

Ответов - 56, стр: 1 2 All

Lagevae: BANKIR пишет: вот ещё вопросец: я поставил в событии столкновения с объектом код: x=xprevious y=yprevious по идее камера должна тормозить, но есть стороны, зайдя с которых, камера спокойно проходит сквозь объект. в чём проблема?Возможно, проскакивает через стенку, то есть, скорость движения камеры больше толщины стены в данном месте.

FatPir: на самом деле в 6 гамаке у меня был глюк подобный: игрок имеет большую скорость и если он долбился в стену то рано или поздно проскакивал. я думаю, может у тебя рабочая область стен не правильно обозначена?

Lagevae: FatPir пишет: на самом деле в 6 гамаке у меня был глюк подобный: игрок имеет большую скорость и если он долбился в стену то рано или поздно проскакивал. я думаю, может у тебя рабочая область стен не правильно обозначена?Не глюк. Просто если ты проверяешь столкновение по координате+скорость, то скорость больше чем размер стены, для того чтобы работало как надо, стоит сделать проверку на столкновение for'ом.


BANKIR: у меня не стена, а модель

Lagevae: BANKIR пишет: у меня не стена, а модельПод словом "стена" подразумевается объект, с которым ты сталкиваешься. Столкновения-то обрабатываются вне зависимости от рендера, так что это неважно. Важно то, какой спрайт у тебя служит стеной - маской для столкновений.

BANKIR: Lagevae а можешь рассказать поподробнее, что за проверка for'ом?

Lagevae: BANKIR цикл for знаешь? Ну если нет, почитай в справке - там хорошо написано. Не буду писать сам, так как за меня уже написано всё (то есть, код не мой, а Калмыка с одного сайта по Game Maker'у): var i; for (i=sprite_width; i<=speed; i+=sprite_width) { if(place_meeting(x+lengthdir_x(i,direction),y+lengthdir_y(i,direction),stena)) { x+=lengthdir_x(i,direction);y+=lengthdir_y(i,direction); event_perform(ev_collision,stena); } }

BANKIR: а в какое событие его помещать?

Flooty: в Step

Lagevae: BANKIR пишет: а в какое событие его помещать?В нажатие кнопки движения, а там снизу в скрипте переход на событие столкновения.

BANKIR: чё-то не получается должно быть вот так? speed=-2 var i; for (i=sprite_width; i<=speed; i+=sprite_width) { if(place_meeting(x+lengthdir_x(i,direction),y+lengthdir_y(i,direction),obj_par)) { x+=lengthdir_x(i,direction);y+=lengthdir_y(i,direction); event_perform(ev_collision,obj_par); } }

Lagevae: BANKIR Сделай так: ...i<=abs(speed)... Если всё же не работает, то сделай ещё это: ...for (i=0;... Хотя, не исключено, что ещё ошибки будут.

BANKIR: что-то до меня не доходит. простите за нубство

BANKIR: объясните пожалуйста поподробнее

BANKIR: а то работа стоит

Lagevae: Ну чё ты странный такой. Что именно не работает? Скорее всего ты не понял эту строку: event_perform(ev_collision,obj_par); Типа тут действие столкновения со стеной, и при выполнении этих условий срабатывает то что у тебя в столкновении. А вообще, не знаю, выкладывай сюда исходник, буду разбираться.



полная версия страницы