Real: 실수형이다. 타 언어의 int, long, float, double 등을 모두 포함한다.
String: 문자형이다.
Array: 배열이다.
Boolean: 불린형 변수이다.
Pointer: 포인터이다.
Enum: 상수를 정의하는 열거형 변수이다.
Undefined: 값이 정의되지 않은 변수이다.
위 변수들은 다음과 같이 정의한다.
var_real = 0; //실수형 변수의 정의
var_string = "GML"; //문자형 변수의 정의. 큰 따옴표나 작은 따옴표로 문자형임을 표현한다.
for(i=0;i<10;i++){
var_arr1[i] = power(i, 2); //1차원 배열의 정의. 크기를 지정해줄 필요가 없다. 괄호 사이엔 index를 써 주며, index는 0 이상인 [[정수]]여야 한다.
}
for(i=0;i<10;i++){
for(j=0;j<20;j++){
var_arr2[i, j] = 20*i + j; //2차원 배열의 정의. 괄호 안에 두 지수를 콤마로 구분하여 표기한다.
}
}
var_bool = true; //불린형 변수의 정의.
enum var_enum {
zero,
ichi,
ni,
go = 5,
roku,
shi = 10
} //Enum형 변수의 정의. enum <variable>{<constant> [=<value>]}의 형식으로 정의한다. 값을 정해주지 않으면 맨 처음 변수는 0부터, 중간 변수는 앞의 변수의 값에 1을 더한 것으로 정의된다. 값이 정해지는 방법은 C 언어와 같다.
var_shigo = var_enum.go + var_enum.shi; //Enum형의 상수를 불러온다. <variable>.<constant>의 형식으로 쓴다.
선언 시 자료형은 자동으로 정해지고, 함수에서 문자가 들어갈 자리에 수를 넣어도 별 상관이 없으나 자료형을 바꿔주는 것이 보기에 좋다. 이 부분은 AS3.0와 비슷하다.