- 1、本文档共107页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Game Maker Language教程
一、GML语言概述
Game Maker内置一款编程语言。让你在标准动作之外获得更多的自由度和控制力。这个语言我们简称它为 GML (Game Maker Language)。你可以在很多地方用这个语言编写代码。首先,当你定义脚本的时候。脚本就是一份GML程序。其次,当你在一个事件中添加新动作时。在编写代码动作时你也同样可以使用GML。第三,如果你想在一个动作中使用指定的一个值,你同样可以使用GML来表达。一段语句如下所说,并不是完整的程序,只是计算出结果的一段代码。
在本章中我们将向你描述GML的基本概念。当你希望学习使用GML时,这里有一些东西你需要留意。首先,你的所有资源(精灵、对象、声音、等等)你必须使用一个以字母开头,全部由字母、数字或下划线组成的名称。不然的话你将无法在程序中正确的调用他们。确保所有资源都有不同的名字。同时也要注意不要将资源取名为 self、global或者其他保留字,因为这些字符在GML中有特殊含义(具体有哪些保留字将在后面详细论述).
GML的相关信息可以在以下页面找到:
一个程序
变量
赋值
表达式
扩展变量
在其他实例中定义变量
数组
If 语句
Repeat 语句
While语句
Do语句
For语句
Switch语句
Break语句
Continue语句
Exit语句
函数
脚本
With结构
注释
GML中的函数和变量
一个程序
一个程序包括一套完整的指令,称为语句。一个程序必须以'{ '开头,以'} '结尾。之间是 语句文本。每行语句必须以';'分号结尾。所以语句的通常形式应该是这样的 :
{
<statement>;
<statement>;
...
}
语句的样式可以有很多种,将在以下各章节论述。
变量
和其他语言一样,GML中也有变量。变量是存储信息的一段内存空间。他们各有不同的名字以便于你去调用他们。GML中的一个变量既可以存储一个真实数字,也可以存储一个字符串。变量并不需要像其他语言一样需要预先声明。这里有大量内置的变量类型。一些相当常见比 如 mouse_x 和 mouse_y定义鼠标当前位置。其他一些则定义我们扩展程序时使用的当前对 象例程。比如 x 和 y定义当前例程的位置。一个变量的名称必须以字母打头,由字母、数字或下划线组成(最长不超过64个字符)。当你在当前例程中使用新的变量时,在其他例程的程序中是不可见的(即使是同一个对象的不同例程)。你仍然可以通过某种方法调用其 他例程里的变量,接着往下看。
赋值语句
一段赋值语句将一个值放入一个变量。形式如下 :
<变量名> = <表达式>;
一个表达式可以是一个简单的数值,也可以是复杂的运算式。除了向一个变量赋值以外,同 样可以在当前变量值的基础上再次赋值,使用'+='的格式。当然,还有 -=,*= /= 或者更 加复杂的格式如 |=、&\、^=.
表达式
表达式可以是数字(比如:4、3、5、6、等等),十六进制数字,或者是 $ 打头的标签( 比如$00FFAA),单引号或双引号括起来的字符串(比如"Hello"或'hello')或者其他更复杂的表达式。表达式中有下列双标识符(优先度较高 ):
* && || ^^: 组合是否值 (&& = 和, || = 或, ^^ = 异或)
* < <= == != > >=: 比较,结果为 true (1) or false (0)
* | & ^: 二进制计算 (| = 二进制或, & = 二进制并, ^ = 二进制异或)
* << >>: 二进制加减 (<< = shift left, > > = shift right)
* + -: 加减
* * / div mod: 乘,除,整除,取模
要注意,x div y 的值是 x/y 后的结果中跟0最接近的整数值。 mod 操作符返回调用者的 运算域。也就是说,x mod y = x- (x div y) * y。同时还有以下几个运算符 :
* !: 否, true 转换为 false 和 false 转换为 true
* -: 否定后面的数值
* ~: 否定后面的数值进行二进制位取反(1变0,0变1)
数值中你可以使用数字、变量、或者返回一个值的函数。 子程序可以在括号内书写。所有运算符都是为真实存在的值工作的。比较运算符同样可以对字符串进行操作, + 可以连接字符串(在这里要注意,和其他语言不同,相加时参数和布 尔变量总是会被计算,即使第一个参数已经决定了结果)。
举例
一个使用子程序的例子.
{
x = 23;
color = $FFAA00;
str = 'hello world';
y += 5;
x *= y;
x = y << 2;
x = 23*((2+4) / sin(y));
str = 'hello' +
文档评论(0)