Вторник, 16 Июля 2019, 10:58

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

Меню сайта
Категории каталога
Создание игр [321]
Статьи об общих понятиях связанных с созданием игр.
Программирование [71]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [126]
Статьи о программах для создания игр, уроки и описания.
Софт [28]
Различные программы, в том числе в помощь игроделам.
2D-графика [12]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [11]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [121]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [80]
Статьи, которые не вошли в определённые разделы.
Наш опрос
На какую платформу/систему создаёте игры?
Всего ответов: 10433
Главная » Статьи » Движки и Гейммейкеры

GML, скрипты для новичков в Game Maker
Всем новичкам привет! Давайте рассмотрим особенности языка GML, научимся сокращать код. Программа может начинаться с символа '{' и если мы открыли фигурную скобку, ее обязательно нужно закрыть. Значит в конце программы мы пишем '}'. Например:

Code

{
  x=100
  y=50
}


Но фигурные скобки можно не ставить в некоторых случаях. Например условие можно написать так:

Code

if (условие)
оператор

или так:

Code

if (условие) оператор


Но только, если после условия идет только один оператор. Кстати, можно писать условия и тому подобные операторы можно писать и без скобок.
Вот так, например:

Code

if x>100 y+=1


Так будет выполнятся только первая строка после условия:

Code

if keyboard_check(vk_enter)
global.firstvar+=1
secondvar=secondvar+1
global.thirdvar-=1


Если после условия нужно выполнить несколько действий, то нужно делать так:
Code

if condition
{
  operator(arg)
  operator1(arg)
}


Еще мы можем не использовать в конце операторов знак ';'. Это не обязательно.
Пример:
Code

for(i=0 i<10 i+=1)
arr[i]=noone

тоже самое что и:
Code

for(i=0;i<10;i+=1)
{
  arr[i]=noone;
}


Сократить размер кода можно, использую вместо and/or, && и ||. Но это как вам удобнее. Можно использовать вместо true цифру 1, а вместо false - 0.

Рассмотрим скрипты. Скрипты - фрагмент кода, который выполняет какие-то задачи. Создайте новый скрипт, нажав на "Create a script", назовите его msg_error.
Напишем такой код:

Code

show_message('Error!')
game_end()


Создадим объект и событии Create (Создание) вставим название скрипта и '()'
Code

msg_error()


Ставим объект в комнату, смотрим. Должно появится сообщение 'Error!' и игра выключится. Скритпы очень удобно использовать. Но еще лучше, если использовать аргументы, т.е. мы задаем настройки скрипту вне скрипта. Давайте изменим наш скрипт: вместо 'Error!' напишем argument0; перейдите в объект и в скобках установите значение аргументу ноль.

Code

msg_error('Конец игры')


Теперь при запуске появится надпись 'Конец игры' и игра выключится. Не понятно? Значит сделаем что-то посложнее smile Сделаем скрипт mnogo_objectov_random. Код в скрипте:

Code

for(n=0 n<argument0 n+=1)
instance_create(random(room_width),random(room_height),argument1)


Создадим спрайт с любым изображением, объект с тем спрайтом и именем test; перейдем к объекту, созданному раньше и заменим код на:
Code

mnogo_objectov_random(10,test)//аргумент 0 - кол-во объектов, аргумент 1 - какой объект


Надеюсь, теперь понятно. Запускаем, смотрим. С вами был TakBar, пока!
Категория: Движки и Гейммейкеры | Добавил: TakBar (28 Марта 2012)
Просмотров: 29111 | Комментарии: 5 | Рейтинг: 3.4/8 |
Теги: для новичков, Код, сокращение кода, Аргументы, кодинг, Game Maker, GM, GML, gamemaker, Скрипты
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «GML, скрипты для новичков в Game Maker», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 5
+0-
5 King   (31 Марта 2012 06:54)
KingMaleev, дельное замечание.
После подобныx сокращений, получается каша, в которой самому потом будет трудно найти нужную строку. Лучше бы посоветовал новичкам, например, удобное форматирование кода, от себя. Но это конечно личное дело каждого, код вообще не сокращать нужно, а оптимизировать.

+2-
4 TakBar   (29 Марта 2012 20:54)
TakBarНе думал, что статья будет такой безполезной. Значит, напишу что-то более зерьезное

+0-
3 Maleev   (29 Марта 2012 16:17)
MaleevА зачем сокращать код, ради пары лишних байтов?
В итоге просто получится быдло-код, с которым самому будет противно работать(лично мое мнение).

+1-
1 AGENTX001   (29 Марта 2012 12:59)
AGENTX001Каков смысл в подобных уроках? их написано тысячи, лучше бы что то действительно полезное написал.

+1-
2 TakBar   (29 Марта 2012 13:01)
TakBarНи одного подобного никогда не видел smile

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • eXgine
  • AXMA Story Maker
  • Ardor3D
  • 3D Adventure Studio
  • Sandy3D
  • Existence Engine
  • Apocalyx
  • RPG Creator
  • Game Creator Pro Pixel Vision 8
  • ZDoom
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2019 Рейтинг