Форум » Вопрос-Ответ » 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); Типа тут действие столкновения со стеной, и при выполнении этих условий срабатывает то что у тебя в столкновении. А вообще, не знаю, выкладывай сюда исходник, буду разбираться.
полная версия страницы