文档详情

GML语言教程(中文版)

s9****2
实名认证
店铺
DOC
474KB
约21页
文档ID:549308280
GML语言教程(中文版)_第1页
1/21

目录GML语言概述………………………………………………………………………………………5 一个程序 5 变量 6 赋值语句 6 表达式 6 扩展变量 7 在其他对象中定位变量 8 数组 10 If语句 10 Repeat语句 11 While语句 11Do语句 11For语句 12Switch语句 12Break语句 13Continue语句 13Exit语句 14函数 14脚本 14With结构 15注释 16GML中的函数与变量 16数学运算单元……………………………………………………………………………………16 常数 16 实数函数 16 字符串处理函数 18 日期及时间处理 19游戏运行…………………………………………………………………………………………20 移动 21 路径 22 运动设计 23 碰撞检测 26 实例 27 解散实例 28 定时 29 房间 30 房间过渡 31分数 32 产生事件 33 复杂的变量和函数 36用户互动…………………………………………………………………………………………37 键盘 37 鼠标 40 手柄 40游戏绘制…………………………………………………………………………………………41 精灵和图片 41 背景 42 绘制精灵和背景 43 绘制形状 45 字体和文本 47 高级绘图函数 48 绘制表面 51 贴图 53 显示 55 窗口 55 视角 58 重绘屏幕 59声音与音乐………………………………………………………………………………………60 基本声音函数 61 声音效果 62 3D音效 63 CD音乐 64信息窗口,最高分,以及弹出式窗口…………………………………………………………65 溅射屏幕 65 弹出信息和询问框 67 最高分列表 68资源………………………………………………………………………………………………69 精灵 69 声音 70 背景 70 字体 70 路径 71 脚本 71 时间线 72 对象 72 房间 72改变资源……………………………………………………………………………………………72 精灵 73 声音 74 背景 75 字体 76 路径 76 脚本 77 时间线 77 对象 77 房间 78文件、注册和执行方式……………………………………………………………………………79 文件 79 注册 82 INI文件 83 执行程序 83数据结构……………………………………………………………………………………………84 堆栈 85 队列 85 列表 86 配对 87 优化队列 87 栅格 88创建粒子……………………………………………………………………………………………90 简单效果 90 粒子类型 91 粒子系统 94发射器 95吸引器 96破坏器 97偏转器 97转换器 98烟火例子 99多人游戏……………………………………………………………………………………………100 创建连接 100 创建和加入联机 102 玩家 102 共享数据 103 消息 1033D绘制………………………………………………………………………………………………104 进入3D模式 105 简单绘制 105 绘制3D多边形 106 绘制基本形状 107 世界视角 108 转变 110 雾 111 灯光 112 创建模型 113 结束语 114附录:使用DLL………………………………………………………………………………………115Game Maker 语言 (GML)Game Maker内置一款编程语言。

这个编程语言给你常规动作之外更多的自由度和控制力这个语言我们把它简称为 GML (Game Maker Language)在这一章我们会向你详细介绍有关GML的使用方法,提供一个系统提供的所有函数(接近1000个)和变量来控制你的游戏中所有方面.1.GML语言概述Game Maker内置一款编程语言让你在标准动作之外获得更多的自由度和控制力这个语言我们简称它为 GML (Game Maker Language)你可以在很多地方用这个语言编写代码首先,当你定义脚本的时候脚本就是一份GML程序其次,当你在一个事件中添加新动作时在编写代码动作时你也同样可以使用GML第三,如果你想在一个动作中使用指定的一个值,你同样可以使用GML来表达一段语句如下所说,并不是完整的程序,只是计算出结果的一段代码 在本章中我们将向你描述GML的基本概念当你希望学习使用GML时,这里有一些东西你需要留意首先,你的所有资源(精灵、对象、声音、等等)你必须使用一个以字母开头,全部由字母、数字或下划线组成的名称不然的话你将无法在程序中正确的调用他们确保所有资源都有不同的名字同时也要注意不要将资源取名为 self、global或者其他保留字,因为这些字符在GML中有特殊含义(具体有哪些保留字将在后面详细论述). 一个程序 一个程序包括一套完整的指令,称为语句。

一个程序必须以'{ '开头,以'} '结尾之间是 语句文本每行语句必须以'; '分号结尾所以语句的通常形式应该是这样的 : { ; ; ...}语句的样式可以有很多种,将在以下各章节论述 . 变量 和其他语言一样,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' + " world"; b = (x < 5) && !(x==2 || x==4);}扩展变量 你通过对一个变量赋值来创建新的变量(不需要事先进行声明)如果你只是使用一个变量 的名称,它只会存储当前对象例程的内容所以不用担心它会包含其他对象的内容(或者同 一对象的另一个例程)你可以在另一个对象中设置和读取变量,通过在变量名前面添加对 象名称和一个句点'.' . 要创建一个全局变量,就是全部对象例程都可以调用的变量,使用'global.变量名'的格式 以下是一个示例: { if (global.doit) { // do something global.doit = false; }}或者你能声明全局变量,形式如下. globalvar ,,, ... ;一旦这样的声明被执行, 变量将一直是全局形式不需要再加全局变量前缀“global.”了. 而这仅仅只需要声明的代码块已被执行. 之后其他地方的这些变量就都会成为全局的. 有些时候你希望变量只在当前的代码段或者语句中使用。

这种时候你必须避免浪费内存,并且确信这些变量名称不会带来混淆同时这种变量也比全局变量速度更快要使用这种变量 你必须在变量名前加入保留字 'var'和一个空格这种声明看起来应该是这样的. var ,,, ... ;程序示例: { 。

下载提示
相似文档
正为您匹配相似的精品文档