Вторник, 19 Марта 2024, 05:52

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

Меню сайта
Категории каталога
Создание игр [354]
Статьи об общих понятиях связанных с созданием игр.
Программирование [82]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [144]
Статьи о программах для создания игр, уроки и описания.
Софт [39]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [16]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [160]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [128]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Игры какого жанра вы предпочитаете делать?
Всего ответов: 14610
Главная » Статьи » Движки и Гейммейкеры

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)
Просмотров: 40522 | Комментарии: 5 | Рейтинг: 3.8/11 |
Теги: для новичков, код, сокращение кода, Аргументы, кодинг, 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 случ. движков
  • Xamarin
  • Evergine
  • Mortal Szombat
  • XtremeWorlds
  • Novashell
  • Spartan
  • Sandy3D
  • Future Pinball
  • PixelLight
  • Emcore3D
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг