Четверг, 21 Ноября 2024, 20:55

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

Меню сайта
Категории каталога
Создание игр [358]
Статьи об общих понятиях связанных с созданием игр.
Программирование [83]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [147]
Статьи о программах для создания игр, уроки и описания.
Софт [43]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [167]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [132]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Сколько часов подряд вы обычно играете?
Всего ответов: 1446
Главная » Статьи » Создание игр

Основы GML
GML
Привет, мир! Это уроки по GML для начинающих. Уроки будут в основном посвящены математическим выражениям (массив, цикл, переменная и т.д и т.п.).Команды можно поискать, команд очень много. Ну для начала, что такое GML? GML-это Game Maker Language : язык, который используется на знаменитом полуконструкторе полудвижке: Game Maker. Для тех кто уже знаком с созданием игр, интерфейс будет очень прост. Но что сейчас надо:
-Знание Английского
-Знание игродельства(термины конструкторов игр)
-Знание интерфейса Game Maker
Ну начнём. Язык GML - это супер облегчённый C++.C++. Это такой ЯП (для тех кто не знаком с программированием, но думаю все знают), созданный Microsoft. Вообщем приступим.
Этап I. Переменные.
Ну для начала о термине Переменная
Переменная- это ячейка, которая хранит в себе память.То есть это числа, зарезервированные в ключевых словах.Ну например:
5+5=10
Но только это мы зарезервируем в слова. Вот уже готовый код :
Code

var x;
var y;
var m;
x=8;
y=8;
m=x+y;

Проще кода, в мире не бывает. Но тут мы можем поступить вот так:
Code

x=8;
y=8;
m=x+y;

Так проще, не так-ли? Ну давайте посмотрим "Особенности" переменных:
Переменная не должна начинаться с цифры;
Переменная не должна быть слишком длинная(если честно, то мне легче писать буквой, чем пихать туда какое-нибудь xyzxcvsall).
Глобальная переменная- это переменная, которую можно использовать во всех кодах.Например нам надо в двух кодах , использовать переменную которая объявилась только в одном коде. Для этого и есть глобальная переменная. Ну опять к синтаксису:
Code

[color=blue][b]global[/b][/color].x=9 [color=green]//Используем глобальную переменную с помощью команды global.[/color]

Теперь мы можем использовать значение этой переменной во всех кодах. Причём когда вы её написали, то в другом коде, global. не пишется!
Глава II. Функция
Итак, давайте попробуем изучить функции. Функции в GML уже готовые, хотя в c++ их надо делать самому. Функция, это определённая команда, но вам можно(нужно) задать параметры. Например (эту функцию я выдумал сам):
Code

x=8;
y=9
main(x,y)

Также можно задать в параметрах любой спрайт например:
Code

draw_sprite(spr_bomb,65,34)

Также при написании функции, возникнет подсказка какие параметры именно задавать.
Глава III. Массивы
Массивы созданы для того, чтобы мы могли объявить переменную одним и тем же названием много раз.Например:
Code

GenerateWorld[0]=instance_create(7,6,bck_world); //GenerateWorld - массив [0] индекс(число)  
GenerateWorld[room_width,room_height]=x+y+spr_wall

То-есть мы не можем написать так:
Code

GenerateWorld=9
GenerateWorld=spr_game+bck_terrain
GenerateWorld=x,y+9

ВНИМАНИЕ!
Не задавать индекс в отрицательном числе;
У индекса есть приделы до 32000.
Глава IV. Условие
Условие- это условно. По-другому - это переключатель. Пример:
Code

if x =8 then //Если икс равен 8, то
instance_create(5,6,spr_switcher_on); // переключатель включён.
}

Вот-так можно объяснить условие.
Глава V. Циклы : repeat
Итак, начнём мы изучение циклов с команды repeat(){}. Эта команда
позволяет делать какое-то действие, определённое кол-во раз. Например:
Code

repeat(5)
{
i=9 //Переменной i присваивается число 9, 5 раз
}

То есть мы повторяем то или-иное число определённое кол-во раз. Таким образом мы можем генерировать объект obj_surp на одном и том-же месте 6 раз. Например:
Code

repeat(6)
{
instance_create(40,80,obj_surp)
}

Глава VI. Циклы: for
Массив for имеет вот такой синтаксис:
Code

for (i=0;i<=9;i+=1)
{
x=2
}

Тут происходит то же самое, что и с repeat. В данном случае это переводится так же.
Повторяем x=2, 9 раз.
Не правда-ли просто?
Глава VII. Циклы: while
Итак в переводе это : Пока (переменая=число) { действие }
Вот код:
Code
  
while(x<6)
{
instance_create(67,89,obj_as); //Пока x меньше чем 6, рисуем объект obj_as
}


Глава VIII. Циклы: do-until
Ну сейчас я покажу план:
делать(х=9) пока х не станет больше 17
Вот какой у нас код:
do{x=9}until(x<=17)
Глава IX. Конец программы: break; и exit;
После конца действия по традиции пишется break; или exit;
Пример
Code

do {x=8 exit;} until (x=10) //Бесконечная программа, поскольку к x никогда не присвоится 10

Заключение
Эта статья сделана для кнопочников, которые не понимают код. Я показал основы математических вычислений, которые помогают выполнять определенную работу. Удачи в GML!!!
Категория: Создание игр | Добавил: Gcuper (27 Августа 2012)
Просмотров: 10200 | Комментарии: 33 | Рейтинг: 1.9/19 |
Теги: 3D, программы для программирования, программирование уроки, Создать игру, созадние сайтов, Как создать игру
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

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

Всего комментариев: 331 2 »
+3-
33 TovTripleZ   (05 Октября 2012 16:52) [Материал]
TovTripleZВнимание! Забудьте, про дядю Бьёрна и лаборатории Bell: C++, оказывается, разработал Microsoft.

+3-
32 Hasherden   (20 Сентября 2012 23:55) [Материал]
мне паренька уже жалко стало

+-1-
31 fox2134   (17 Сентября 2012 18:33) [Материал]
fox2134Статься мягко сказать фу angry

+5-
30 arrow25   (12 Сентября 2012 06:39) [Материал]
arrow25ушел искать команды smile автор советует их искать, наверное пойду в лес

+0-
29 arrow25   (12 Сентября 2012 06:37) [Материал]
arrow25божемой cry этож надо быть таким учителем wacko

+-3-
27 Gcuper   (10 Сентября 2012 16:09) [Материал]
GcuperЛюди вместо того чтобы ставить минусы помогите удалить статью

+3-
28 stalker5889   (10 Сентября 2012 19:52) [Материал]
stalker5889Попроси админа и не парься.

+-6-
26 Gcuper   (10 Сентября 2012 09:20) [Материал]
GcuperЧёрт как удалить статью, люди?Вы же пониаете как мне не хочется в баню...Тем-более стыда... angry

+-5-
25 Gcuper   (09 Сентября 2012 14:16) [Материал]
Gcuper-____- как удалить статью...не ставте минусы на безсмысленные комменты....

+4-
24 Transced   (09 Сентября 2012 12:43) [Материал]
TranscedМожет хватит писать такие статьи...Их хватает.

+2-
21 Maxaon   (08 Сентября 2012 23:24) [Материал]
MaxaonХорошо что я не дилетант в этом деле biggrin
а то бы принял бы все всеръез, а то и учить стал biggrin
А так по опыту скажу: урок слаб. Нет это не то слово.
Скорее он неправелен. Т.к. например написано:
"Массивы созданы для того, чтобы мы могли объявить переменную одним и тем же названием много раз"
Идея неплохая biggrin а вообще это неправильно
Правильно: массив- контейнер содержащий элементы.
Про остальное мне лень писать, да и время тратить на это не буду
Вообщем, прежде чем учить когото научись сам. Или если хочется показать, что ты знаешь
делай лучше игры. Так и опыта наберешься и знаний тоже.
Удачи

1-10 11-20
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • Golden Realm
  • GLHeretic
  • Ursina
  • RPGDTE
  • Alice
  • JumpCraft
  • C4 Engine
  • PlayCanvas
  • Zephyr3d
  • BlitzMax
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг