Game Maker - создание игр | HellRoom Games
Март 18, 2025, 17:40:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите с логикой движений :)  (Прочитано 15588 раз)
0 Пользователей и 1 Гость смотрят эту тему.
DeckBlack
Посетитель
**

Репутация: 1
Offline Offline

Пол: Мужской
API: Stencyl
Сообщений: 44



« : Февраль 10, 2015, 12:24:32 »

Знаю что стенсил тут не популярен, но возможно кто то просто поймет какая у меня ошибка в логике.
Начну с того, что сделать по нормальному движение по клеткам, я в стенсиле не сумел. Потому сделал его тем способом, до которого додумался  errm
Задача, сделать движение в 2 этапа: ход игрока, ход монстров.

Переменные:
Stay -может ли двигаться игрок в свой ход (тру - да, фолз - нет).
StepHero - ходит ли сейчас игрок (тру - да, фолз - нет).
StepEnemy - ходит ли сейчас монстр (тру - да, фолз - нет).

1) Если отпускаем S, проверяем, если Stay и StepHero = Trye, то делаем Stay = false (чтобы нельзя было сделать еще один шаг в свой ход)
Создаем "СтопКоробку" в определенных координатах, и направляем игрока в эти координаты.


2) Проверяем, если игрок колизится со "СтопКоробкой", останавливаем игрока. Делаем StepHero = false (Ход игрока окончен), Делаем StepEnemy = trye (Начинается ход монстров).


3) Логики у монстров пока нет, поэтому проверяю работоспособность кода простой проверкой.
Если StepHero не равен Trye, если Stay не равен Trye, если Step Enemy = trye, то по истечении 2х секунд запускам код: Приравниваем Step Enemy к False, StepHero к Trye, Stay к Trye.


Проблема: После первого шага, пауза есть, она равна 2-м секундам, но после этой паузы, если быстро жать кнопку ходьбы, почему то можно сделать несколько шагов сразу, потом опять пауза, если жать еще быстрее, то можно ходить даже больше 2х секунд (при этом почему то за то время пока игрок двигается Step постоянно равняется trye, то есть можно создавать несколько стопбоксов).

Вот сам swf: http://gametrax.eu/game/34e17ef20c
Записан
TheTemperenNuke
Активный участник
*****

Репутация: 33
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]
API: Unity 3D
Деятельность: По большей части - художник.
Сообщений: 289


MAD SKILLZ!


« Ответ #1 : Февраль 10, 2015, 13:49:18 »

 

*Применяю навыки юнити*
Попробуй сделать переменную(например steps) и после того как ты нажмешь W/A/S/D, то идёт +1 к steps, если >1, то делай так, чтобы приравнивалась к 1(ну... как-то так).И только если больше нуля и = 1, то можно сделать шаг. И ещё - есть баг, после убийства монстра герой отказывается двигаться, может пошаманишь?

Если помог, то если захочешь, то +  Уважуха
Записан
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #2 : Февраль 10, 2015, 14:38:07 »

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

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
TheTemperenNuke
Активный участник
*****

Репутация: 33
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]
API: Unity 3D
Деятельность: По большей части - художник.
Сообщений: 289


MAD SKILLZ!


« Ответ #3 : Февраль 10, 2015, 14:47:56 »

Если помог, то если захочешь, то +  Уважуха
6.2 Выпрашивание плюсов не приветствуется. Пользователи сами выбирают, кому изменять карму.
Извините!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.08 секунд. Запросов: 29.