Понедельник, 23 Декабря 2024, 05:29

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Принуждённое движение объекта от соприкосновения ...
LorderonДата: Вторник, 28 Декабря 2010, 00:00 | Сообщение # 1
старожил
Сейчас нет на сайте
Я весь день ломал голову, но не смог нечего придумать. Вот задание:
У нас есть два объекта. 1 - ГГ. 2 - Блок. Нужно построить дорогу для ГГ из блоков. По концам дороги поставить ещё два блока. По одному на каждый.
При запуске игры, ГГ должен начать двигать вправо. Достигнув правого блока, он должен развернуться, сменить спрайт, и продолжить движение в обратную сторону. Постигнув левого блока ГГ должен повернуть вправо, также сменив спрайт и продолжив движение.
--------
Теперь в чём загвоздка: тот блок по которому он должен ходить - это тот же блок при соприкосновении с которым он должен поворачиваться.
--------
Помогите. Я уже весь мозг сварил, пока пытался это осуществить.
zik13Дата: Вторник, 28 Декабря 2010, 00:02 | Сообщение # 2
Dark wolf
Сейчас нет на сайте
попробуй просчитать время аларма между блоками и сделать разворот
LorderonДата: Вторник, 28 Декабря 2010, 00:03 | Сообщение # 3
старожил
Сейчас нет на сайте
zik13, расстояние может быть разным.
zik13Дата: Вторник, 28 Декабря 2010, 00:05 | Сообщение # 4
Dark wolf
Сейчас нет на сайте
это да sad

LorderonДата: Вторник, 28 Декабря 2010, 00:08 | Сообщение # 5
старожил
Сейчас нет на сайте
Движение должно быть правильным. То есть без прыжков. И на отрезке пути также наклонная поверхность, по которой он должен пройти.
(_Meloman_)Дата: Вторник, 28 Декабря 2010, 01:34 | Сообщение # 6
участник
Сейчас нет на сайте
Возможно я неправильно понял вопрос, но всё же: воть.

pretty_mouseДата: Вторник, 28 Декабря 2010, 02:11 | Сообщение # 7
частый гость
Сейчас нет на сайте
Lorderon, можешь взять пример (_Meloman_) сделать объект "ограничитель" который работает как стена только поставить в настройках - невидим. А там уже расставляется как надо.

Вот, пример сделала: скачать




Сообщение отредактировал pretty_mouse - Вторник, 28 Декабря 2010, 02:29
Dva_KotaДата: Вторник, 28 Декабря 2010, 10:17 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Quote (zik13)
И на отрезке пути также наклонная поверхность, по которой он должен пройти.

Можешь нарисовать как должно выглядеть?
И еще вопрос: он может наступать на блоки, которые стоят по краям, или только доходить до них?


Новый пример инвентаря! /20.06.2012/

Energy Wars
GameMixДата: Вторник, 28 Декабря 2010, 11:24 | Сообщение # 9
старожил
Сейчас нет на сайте
Lorderon, Открываете редактор комнаты. Наводите курсор на блок, при столкновении с которым ГГ должен менять направление. Внизу появится индификатор кубика (например: 100001).
Допустим, индификатор блока справа: 100001, индфикатор блока слева: 100002
В событии столкновения ГГ с блоком пишете код:

if place_meeting(x,y,(100001)) then {hspeed = -hspeed; sprite_index = left_sprite; image_speed = 0.5};
if place_meeting(x,y,(100002)) then {hspeed = -hspeed; sprite_index = right_sprite; image_speed = 0.5};

Вместо 100001 ставьте индификатор првого блока.
Вместо 100002 ставьте индификатор првого блока.
Вместо выделенного жирным шрифтом названия спрайтов.

Мой пример


Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал аТнОтХоАн - Вторник, 28 Декабря 2010, 11:47
LorderonДата: Вторник, 28 Декабря 2010, 11:46 | Сообщение # 10
старожил
Сейчас нет на сайте
Quote ((_Meloman_))
Возможно я неправильно понял вопрос, но всё же: воть.

Нет. На игрока должна влиять гравитация, и он должен передвигаться по тем же блокам, от которых он отталкивается.
LorderonДата: Вторник, 28 Декабря 2010, 11:58 | Сообщение # 11
старожил
Сейчас нет на сайте
аТнОтХоАн,
Quote (pretty_mouse)
Lorderon, можешь взять пример (_Meloman_) сделать объект "ограничитель" который работает как стена только поставить в настройках - невидим. А там уже расставляется как надо.
Вот, пример сделала: скачать


Нет. Невидимых объектов не должно быть. Только три: 1 - ГГ. 2 - блок. 3 - скошенный блок.
Quote (аТнОтХоАн)
Lorderon, Открываете редактор комнаты. Наводите курсор на блок, при столкновении с которым ГГ должен менять направление. Внизу появится индификатор кубика (например: 100001). В событии столкновения ГГ с блоком пишете код:
if place_meeting(x,y,(100001)) then {hspeed = -hspeed};

Вместо 100001 ставьте индификатор того блока.


Я после перехода на сцирру, чуток в ГМ потерялся... Сделай пример.
-------------------------------------------------------------------------------------------
Вот примерная карта действий:
Dva_KotaДата: Вторник, 28 Декабря 2010, 12:06 | Сообщение # 12
заслуженный участник
Сейчас нет на сайте
smile
Ты Ты само движение сделал? просто при столкновении с объектом 1 проверяй, если у блока у меньше чем у игрока (может дописать еще + сколько-нибудь, в зависимости от того где центры игрока и блока) - меняй скорость на противоположную (или как ты там меняешь направление).


Новый пример инвентаря! /20.06.2012/

Energy Wars
thitemДата: Вторник, 28 Декабря 2010, 13:16 | Сообщение # 13
частый гость
Сейчас нет на сайте
1) Проверять, изменилась ли координата Х у ГГ, если нет - повернуть его назад.
2) Присоединить к ГГ дополнительный объект так, чтобы этот объект был меньше героя по высоте, но больше по ширине и находился по центру ГГ. Тогда при пересечении этого объекта с землей, поворачивать ГГ.
Dva_KotaДата: Вторник, 28 Декабря 2010, 13:21 | Сообщение # 14
заслуженный участник
Сейчас нет на сайте
Модно же просто проверять с помощью place_meeting(x,y,obj) есть ли перед игроком объект "пол"
Code
if !place_meeting(x+5,y,пол)
{
x+=5;
}

это для движения вправо. Аналогично для движения влево. Только нужно еще сделать движение по наклонной поверхности.


Новый пример инвентаря! /20.06.2012/

Energy Wars
GameMixДата: Вторник, 28 Декабря 2010, 15:14 | Сообщение # 15
старожил
Сейчас нет на сайте
Lorderon, Ломал-ломал голову и решил эту задачу) Вот мой пример

Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал аТнОтХоАн - Вторник, 28 Декабря 2010, 15:27
LorderonДата: Вторник, 28 Декабря 2010, 17:18 | Сообщение # 16
старожил
Сейчас нет на сайте
аТнОтХоАн, именно то, что нужно! Спасибо. +6 в репутацию поставил. Тема закрыта.
  • Страница 1 из 1
  • 1
Поиск:

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