Вторник, 05 Ноября 2024, 22:36

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите сделать движуюся платформу
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, я с ГМом не работаю smile
tifasoДата: Вторник, 19 Октября 2010, 15:10 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
mitch Перевёл все написаные тобой действия в код подставив нужные значения и так ничего не получилось выдало ошибку у меня 8 про версия по идее то должно работать,но не срабатывает. Ладно если не работаешь sad пусть оно так и будет. А я буду ждать других ответов! Прошу помочь всех кто чем сможет!


Мой сайт: 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.

Вот такую ошибку выдал cry ! После изменения кода по твоему совету.
Пожалуйста если не сложно собери пример smile или попробуй сделать это уже в самом исходнике выше есть ссылка на закачку исходника так тебе будет легче разобратся в чём ошибка и исправить её.
А эти коды взяты с какого то примера я уже не помню с какого, к сожалению этот пример у меня не сохранился.

Добавлено (20.10.2010, 07:14)
---------------------------------------------
Извеняюсь это был мой баг не относящийся к этой теме, а код теперь работает правильно. Большое спасибо Tezus двойной плюс тебе



Мой сайт: http://tifaso.narod.ru/
Мои проекты: Cерия игр Hyougo;
Медвежонок Кит;
Argo Player; Text Manager


Сообщение отредактировал tifaso - Среда, 20 Октября 2010, 06:51
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг