Сейчас мы будем делать так чтобы у ГГ заканчивались пули, и он мог бы подбирать патроны. Для начала давайте добавим глобальную переменную в проект (она будет считать количество патронов). В правом нижнем углу переходим во вкладку Project (проект):
Дальше видим это:
Жмём правой кнопкой мыши по Global variables (глобальные переменные) и выбираем Add global variables (добавить глобальную переменную):
Появится вот такое окно:
Здесь мы должны написать имя (Name) глобальной переменной. Имя даём подходящее, опираясь на то для чего мы её будем использовать. В нашем случае мы будем её использовать для подсчёта пуль, поэтому я назвал её «puli», а в поле Initial пишем начальное значение, в нашем случае начальное количество пуль. Пускай будет 30:
Жмём ОК . Добавилась глобальная переменная puli со значением 30:
Чтобы отобразить значение переменной на экране, нужно добавить объект Text (текст). В редакторе уровня двойной клик и выбираем Text:
Кликаем ещё раз по любому месту появится объект Text:
Слева во вкладке Properties (свойства) мы видим свойства текста:
Размер шрифта установите в 35. Поставьте галочку напротив Bold (жирный) и выберите цвет, который хорошо будет видно на нашем фоне ( я выбрал золотистый):
Расположите текст в левом верхнем углу уровня. Так, нам нужно чтобы этот текст всегда отображал переменную, переходим в редактор событий. Здесь у нас уже есть событие Always (всегда), поэтому просто создаём действие напртив его (жмём New action):
Выбираем объект Text, и в следующем окне выбираем Set text (установить текст):
А в следующем окне в поле Text пишем global('puli'). В скобках, в одинарных ковычках пишем имя переменной:
Жмём финиш. Запускаем игру, как видим всё отображается правильно ( написано 30), но непонятно чего это количество. Чтобы было понятно что это количество пуль нужно в ранее созданном действии впереди дописать это: "Патроны: " & . Получится вот так: "Патроны: " & global('puli ')
И в игре это будет выглядеть так:
Вы можете сделать по другому и написать "Осталось " & global('puli ') & " патронов" Тогда это будет выглядеть так:
Если у вас текст отоброжается не правильно:
Просто увеличте размеры объекта:
Теперь нам нужно сделать так чтобы при выстрелах значение переменной уменьшалось, а когда она будет равна нулю ГГ не смог бы больше стрелять. Помните мы делали такое событие: если клавиша «M» зажата то каждые 150 миллисекунд ГГ создаёт пулю в точке point:
Так вот, к под событию Every 150 milliseconds (каждые 150 миллисекунд) создаём ещё одно действие (New action):
Выбираем System и дальше Add to value (добавить к значению):
И в поле Value пишем -1:
Жмём финиш. Мы сделали вот что: если клавиша «M» зажата, то каждые 150 миллисекунд ГГ создаёт пулю в точке point И каждые 150 миллисекунд у переменной «puli» отнимается одно значение:
Если мы сейчас запустим игру то увидим что количество пуль становится меньше если зажата клавиша «M», но когда значение становится равно нулю, переменная продолжает уменьшаться и уходит в минуса (-1, -2, -3...), да и ГГ всё равно может стрелять. Испровляем. В событиях кликаем два раза по событию Every 150 milliseconds (по надписи) и кликаем по New condition (новое условие):
Дальше выбираем System и дальше Compare global variable (сравнить глобальную переменную):
В следуюющем окне в графе Comparison (сравнить) выбираем Greater than (больше чем), а в Compare to (сравнить с) оставляем ноль:
Жмём финиш. Результат:
Мы подредактировали событие. Вот что мы сделали: если клавиша «M» зажата и при этом глобальная переменная «puli» больше нуля, то каждые 150 миллисекунд ГГ создаёт пулю в точке point, и у переменной «puli» отнимается одно значение ( тоже если глобальная переменная «puli» больше нуля). Запустите и проверте. Всё работает.
Теперь давайте дадим ГГ возможность подбирать патроны. Для начала загрузим спрайт значка патронов, я нарисовал такой:
Проследите что бы этот спрайт был на верхнем слое:
Назовите его patron. Настройте размеры и разместите их несколько штук по уровню. Нам нужно чтобы когда ГГ прикосается к патронам, спрайт патронов удаляется и к пулям прибовляется 30. Переходим в события, создаём новое событие, выбираем ГГ и дальше On collision with another object (при столкновении с другим объектом):
В следующем окне выбираем объект patron:
Жмём финиш. Создаём действие к этому событию, выбираем объект patron, и дальше Destroy (уничтожить):
Результат:
Создаём ещё одно действие к этому же событию, выбираем System, дальше Add to value (прибавить к значению):
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Платформер-экшен в Scirra Construct для начинающих (часть 4)», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Ты не любишь, а кто-то не умеет делать игры иначе, как на конструкторе. Но если он может делать хорошие игры на конструкторе - почему бы и не продолжать делать на конструкторе, вместо того, чтобы полгода переучиваться на какой-нибудь универсальный ЯП?
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]