Пятница, 15 Ноября 2024, 04:39

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
движение под углом в пределах ромба, возможно это изометрия?
funkypankyДата: Воскресенье, 11 Марта 2012, 00:27 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всем привет!
Может объясните мне как реализовать движение?
вот картинка:

движение персонажа стрелочное (вверх, вниз,влево, вправо)
но в ромбе ещё и по диагонали (как бы под углом).
зелёным платформы плоские нарисованы.
Вообще у меня несколько по этому поводу вопросов ребят:
1) как задать ограничение для тайла такой вот неквадратной формы, или любой другой?
2)можно ли сделать первый пункт для объекта? к примеру тот же ромб, типа движение только внутри него. Как ограничить внутри него движение?
3) как задать угол подъёма для тайла?
просто планирую размещать тайлы в разных местах разной формы. Можно ведь как-то для тайла сделать локальную систему координат передвижения?
4) хочу ещё узнать как мне сделать вот такую платформу в моей системе?:


Хелп плиз!)
если кому не трудно- объясните пошагово, чтобы понять.


NO MATTER WHAT YOUR JOURNEY IS, KEEP WALKING!

Сообщение отредактировал funkypanky - Воскресенье, 11 Марта 2012, 14:53
Robin-LocksleyДата: Воскресенье, 11 Марта 2012, 15:30 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Quote (funkypanky)
1) как задать ограничение для тайла такой вот неквадратной формы, или любой другой?

Для тайла в твоем случае вообще нельзя ничего задать, только сравнить.
Можешь например добыть айди тайла, получить из него айди бэкграунда, чтобы понять можно ли по нему ходить и менять ли управление на изометрическое. А размером тайла ограничивать область передвижения, но все равно это будет ббокс а не изометрическая ячейка. К тому же если таких тайлов рядом будет много, могут возникнуть проблемы с перемещением. Советую полностью отказаться от идеи тайлов. Бери обьекты, у них свойств куда больше.

Quote (funkypanky)
2)можно ли сделать первый пункт для объекта? к примеру тот же ромб, типа движение только внутри него. Как ограничить внутри него движение?

Можно. Нужно поставить спрайту точную проверку столкновений и маску по форме. Потом просто проверяй есть ли столкновение с этим обьектом. Если нет - возвращай на предыдущую позицию.

Quote (funkypanky)
3) как задать угол подъёма для тайла?
просто планирую размещать тайлы в разных местах разной формы. Можно ведь как-то для тайла сделать локальную систему координат передвижения?

Это зависит только от угла, который ты выбрал для проекции. То есть для прямоугольной проекции угол 30 градусов к горизонтали. То есть ты при нажатии на клавишу меняешь направление движения на этот угол или обратный ему.
И естественно ты можешь задать для каждого обьекта разный угол. Просто пиши действие в нужном тебе событии столкнокения или меняй там же переменную с углом передвижения.

Quote (funkypanky)
4) хочу ещё узнать как мне сделать вот такую платформу в моей системе?:

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


GameMaker Easy Menu
funkypankyДата: Пятница, 23 Марта 2012, 19:47 | Сообщение # 3
был не раз
Сейчас нет на сайте
Robin-Locksley, а как поставить спрайту точную проверку столкновений?
что-то типа того ?
Code
if  !instance_exists(platform_1) {x=xprevious;y=yprevious};

а движение типа:
Code
if keyboard_check(vk_right) if object_index (platform_1) {x=+2;direction=30};
if keyboard_check(vk_right) if object_index (platform_2) {x=+2;direction=0};

у меня с ограничением движения на объекте проблемы, может подскажешь как кодом правильно прописать?


NO MATTER WHAT YOUR JOURNEY IS, KEEP WALKING!

Сообщение отредактировал funkypanky - Пятница, 23 Марта 2012, 20:14
  • Страница 1 из 1
  • 1
Поиск:

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