Среда, 24 Апреля 2024, 14:43

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » "зашагивание" через блок
"зашагивание" через блок
Dat_SpyДата: Четверг, 31 Июля 2014, 19:30 | Сообщение # 1
частый гость
Сейчас нет на сайте
и даааа опять клон террарии но помощи все же попрошу, я пытался сделать зашагивание через блок как в террарии (те кто играл в нее поймут), сделал проверку на наличие блока сверху а как сделать само зашагивание не додумал, вот и прошу помощи

надо подробнее?
NotinДата: Четверг, 31 Июля 2014, 20:12 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Попробуй тут.
"Ходьба по неровной поверхности в платформере"


Twitter
ВКонтакте


Сообщение отредактировал Notin - Четверг, 31 Июля 2014, 20:13
JAMPERДата: Четверг, 31 Июля 2014, 20:17 | Сообщение # 3
почетный гость
Сейчас нет на сайте
place_free(x,y) с помощью этой функции проверить свободное ли пространство над блоком и делать шаг через добавление к y размера блока, если нет, то герой стоит на месте.

Zombie Day --- "Без шансов"
Space Conflict --- игра на Gamiron #8
Kill your brain --- игра на Gamiron #10
Eat them all!--- игра на Gamiron #12
Dat_SpyДата: Четверг, 31 Июля 2014, 20:38 | Сообщение # 4
частый гость
Сейчас нет на сайте
JAMPER, даааа возможно я нубас полный но вот код, помоги закончить

Код
if place_free(y-16,x-16) {..??..}


Сообщение отредактировал Dat_Spy - Четверг, 31 Июля 2014, 20:38
JAMPERДата: Пятница, 01 Августа 2014, 00:23 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Код для хождения вправо где-то так выглядит:
Код

if keybord_check ( vk_right) = true
{
if !place_free (x+1,y)     
{
     if place_free(x+1,y-1) {x+=1 y-=16}     
} else {x+=1}
}


Для ходьбы влево возле х поменяй знаки на - и само собой vk_left. Писал с телефона, поэтому в работоспособности не очень уверен. Ну как шаблон можно использовать.


Zombie Day --- "Без шансов"
Space Conflict --- игра на Gamiron #8
Kill your brain --- игра на Gamiron #10
Eat them all!--- игра на Gamiron #12


Сообщение отредактировал JAMPER - Пятница, 01 Августа 2014, 00:28
SpeRdKeaRДата: Пятница, 01 Августа 2014, 07:24 | Сообщение # 6
KillerReborn
Сейчас нет на сайте
Dat_Spy, где-то мой старый двиг завалялся, там есть движение по неровной поверхности. Могу в ЛС кинуть, разберешься сам как-нибудь?

А звезды, будто мириады стрел,
Ловя на мушку силуэты снов.
Смеется и злорадствует любовь,
И мы с тобой попали в их прицел...
mlpmmoДата: Пятница, 01 Августа 2014, 09:12 | Сообщение # 7
YBRONY
Сейчас нет на сайте
А что мне понравилась идея с комиксами biggrin

ценители альфа бета версий поймут


Простая арифметика (Web игра)

Сообщение отредактировал mlpmmo - Пятница, 01 Августа 2014, 09:13
XDominatorДата: Пятница, 01 Августа 2014, 10:11 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Муахаха, комикс норм)

По теме - все просто, как обычно. Никаких особых знания или ума не нужно. Определяем для нашего игрока определенную точку в направлении взгляда. Эта точка должна быть на краю спрайта, на 1 пиксель дальше его границы(спрайта), по y она может быть любой ниже высоты 1 блока. И определяем еще 2 точки. Одна должна быть на уровне взгляда(если мы считаем что игрок по высоте у нас в 2 блока), и одна - выше еще на блок. Таким образом мы должны иметь 3 точки для определения стены в 3 блока.

Далее, в нашей самой нижней точке каждый шаг делаем проверку на наличие блока( например с помощью instance_place(x, y, obj_block)). Если функция нашла объект в нижней точке - значит у нас впереди препятствие. Дальше проверяем, если у нас нету блоков во 2 и 3 точке, значит мы можем залезть на наш блок, если же нет значит мы должны просто запретить дальнейшее движение в данном направлении, если же мы забираемся, то просто поднимаем наш объект на высоту блока и принудительно сдвигаем нашего игрока на пару пикселей, чтобы движок уже мог определять что под игроком есть твердый блок. Вот и все.


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)


Сообщение отредактировал XDominator - Пятница, 01 Августа 2014, 10:13
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » "зашагивание" через блок
  • Страница 1 из 1
  • 1
Поиск:

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