Помогите сделать движуюся платформу
|
|
tifaso | Дата: Вторник, 19 Октября 2010, 11:02 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Помогите сделать движуюся платформу она будет двигаться влево и вправо создан обьект obj_moving_h который и является движуещейся платформой в нём прописаны следующие коды: В Create hsp = 2 В Step if place_free(x+hsp,y) {x+=hsp} else {hsp = -hsp} if place_meeting(x+hsp,y,obj_hyougo) if place_meeting(x,y-1,obj_hyougo) {obj_hyougo.x+=hsp} У этого обьекта есть родительный obj_block Код при столкновении obj_block и obj_hyougo if (other.solid) { if (vspeed > 0) move_contact_solid(270, 12); else move_contact_solid(90, 12); vspeed = 0; } obj_hyougo это игрок! Вообще то платформа движется игрок на ней стоит, только когда платформа отезжает в какую либо сторону игрок остаётся на месте и соответственно улетает вниз если нужен исходник в подписи
Мой сайт: http://tifaso.narod.ru/ Мои проекты: Cерия игр Hyougo; Медвежонок Кит; Argo Player; Text Manager
Сообщение отредактировал tifaso - Вторник, 19 Октября 2010, 11:07 |
|
| |
stalkerya | Дата: Вторник, 19 Октября 2010, 11:28 | Сообщение # 2 |
Пользователь Blender 2.5
Сейчас нет на сайте
| Вот посмотри этот пример.
Бросила девушка после того, как узнала, что я перешел с гм на Construct.
Сообщение отредактировал stalkerya - Вторник, 19 Октября 2010, 11:29 |
|
| |
mitch | Дата: Вторник, 19 Октября 2010, 11:47 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Quote (tifaso) Вообще то платформа движется игрок на ней стоит, только когда платформа отезжает в какую либо сторону игрок остаётся на месте и соответственно улетает вниз а с чего он будет двигаться с платформой, у него же координаты изменяются только когда ты нажимаешь на клавиши, значит нужно сделать так, что когда человечек стоит на платформе, то изменять его координаты на такое же расстояние как и у платформы
|
|
| |
tifaso | Дата: Вторник, 19 Октября 2010, 13:26 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| stalkeryaПример конечно хорший но это не то. Платформа то у меня уже готова только нужно сделать чтобы игрок мог на ней ездить у меня он уже был, но по нему я ничего сделать не смог. Скачай исходник и посмотри obj_moving_v и obj_moving_h эти обьекты и есть платформы с движением obj_moving_v - является вертикальной, но с ней всё впорядке. obj_moving_h - является горизонтальной её нужно доработать Quote а с чего он будет двигаться с платформой, у него же координаты изменяются только когда ты нажимаешь на клавиши, значит нужно сделать так, что когда человечек стоит на платформе, то изменять его координаты на такое же расстояние как и у платформы mitch ну твои рассуждения понятны я то знаю что координаты нужно менять, но я не знаю как в таком случае их менять, так что обьясни подробнее!
Мой сайт: http://tifaso.narod.ru/ Мои проекты: Cерия игр Hyougo; Медвежонок Кит; Argo Player; Text Manager
|
|
| |
mitch | Дата: Вторник, 19 Октября 2010, 13:46 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| можно так попробовать: Хчеловека = Хчеловека + (ТекущееХплатформы - НачальноеХплатформы) например НачальноеХплатформы = 300 пикселей, а ТекущееХплатформы = 500 пикселей, то смещение человечка будет 200 пикселей
|
|
| |
tifaso | Дата: Вторник, 19 Октября 2010, 14:46 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Пока я ещё не очень то понял, но мне было бы легче разобраться если бы ты собрал пример за это двойное повышение в репутации гарантирую.
Мой сайт: http://tifaso.narod.ru/ Мои проекты: Cерия игр Hyougo; Медвежонок Кит; Argo Player; Text Manager
|
|
| |
mitch | Дата: Вторник, 19 Октября 2010, 14:48 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| tifaso, я с ГМом не работаю
|
|
| |
tifaso | Дата: Вторник, 19 Октября 2010, 15:10 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| mitch Перевёл все написаные тобой действия в код подставив нужные значения и так ничего не получилось выдало ошибку у меня 8 про версия по идее то должно работать,но не срабатывает. Ладно если не работаешь пусть оно так и будет. А я буду ждать других ответов! Прошу помочь всех кто чем сможет!
Мой сайт: http://tifaso.narod.ru/ Мои проекты: Cерия игр Hyougo; Медвежонок Кит; Argo Player; Text Manager
Сообщение отредактировал tifaso - Вторник, 19 Октября 2010, 15:15 |
|
| |
Tezus | Дата: Вторник, 19 Октября 2010, 15:25 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| Попробуй убрать родительский объект obj_block из свойст obj_moving_h, а obj_moving_h сделай твердым и в коллизии игрока с ним пропиши vspeed = 0. Этот код if place_free(x+hsp,y) {x+=hsp} else {hsp = -hsp} if place_meeting(x+hsp,y,obj_hyougo) if place_meeting(x,y-1,obj_hyougo) {obj_hyougo.x+=hsp} точно написан верно, сам таким же пользовался.
Если в мире много бед, поможет человек-пакет. Человек-пакет
|
|
| |
tifaso | Дата: Вторник, 19 Октября 2010, 17:15 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| Tezus Игрок то на платформе стоит, только когда платформа уезжает в сторону игрок падает вниз вместо того чтобы ехать на платформе. Мне нужно сделать чтобы когда платформа уезжает игрок уезжал на ней, а не падал вниз. Если не очень понятно обьясняю когда игрок встает на эту платформу он просто стоит, а должно задаватся игроку свойство движения obj_moving_h и в результате платформа уезжает, а игрок который стоял на ней остаётся на месте и в результате просто падает вниз потому что платформа на которой он стоял уехала. Надеюсь теперь то дошло что мне нужно.
Мой сайт: http://tifaso.narod.ru/ Мои проекты: Cерия игр Hyougo; Медвежонок Кит; Argo Player; Text Manager
|
|
| |
Tezus | Дата: Вторник, 19 Октября 2010, 17:38 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| Да все сразу понятно было, ты код не сам писал что ли?! У тебя же движение игрока прописано уже вот тут {obj_hyougo.x+=hsp} тут он вместе с платформой и смещается. Попробуй сделать как я сказал, если не получится, вышлю пример.Добавлено (19.10.2010, 17:38) --------------------------------------------- Нашел я баг у тебя кажись )) проглядел просто )) if place_meeting(x+hsp,y,obj_hyougo) - вот эта строка у тебя нафига написана?! )) if place_free(x+hsp,y) {x+=hsp} else {hsp = -hsp} if place_meeting(x+hsp,y,obj_hyougo) {hsp = -hsp} вот так тогда уж сделай, чтоб игрока платформой не зажимало ))) if place_meeting(x,y-1,obj_hyougo) {obj_hyougo.x+=hsp}
Если в мире много бед, поможет человек-пакет. Человек-пакет
|
|
| |
tifaso | Дата: Среда, 20 Октября 2010, 07:14 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| Tezus Code ___________________________________________ FATAL ERROR in action number 11 of Step Event for object obj_hyougo:
COMPILATION ERROR in code action Error in code at line 6: looping:false ^ at position 9: Assignment operator expected. Вот такую ошибку выдал ! После изменения кода по твоему совету. Пожалуйста если не сложно собери пример или попробуй сделать это уже в самом исходнике выше есть ссылка на закачку исходника так тебе будет легче разобратся в чём ошибка и исправить её. А эти коды взяты с какого то примера я уже не помню с какого, к сожалению этот пример у меня не сохранился. Добавлено (20.10.2010, 07:14) --------------------------------------------- Извеняюсь это был мой баг не относящийся к этой теме, а код теперь работает правильно. Большое спасибо Tezus двойной плюс тебе
Мой сайт: http://tifaso.narod.ru/ Мои проекты: Cерия игр Hyougo; Медвежонок Кит; Argo Player; Text Manager
Сообщение отредактировал tifaso - Среда, 20 Октября 2010, 06:51 |
|
| |