变量和变量类型、赋值、命名|gamemaker|GML语言教程

分类栏目:gamemaker教程

322

gamemaker|GML语言教程本节学习目标:知道a=3是什么意思就OK!

 

变量

和其他语言一样,GML中也有变量。变量是存储信息的一段内存空间。他们各有不同的名字 以便于你去调用他们。GML中的一个变量既可以存储一个真实数字,也可以存储一个字符串。 变量并不需要像其他语言一样需要预先声明。

 

    电脑中的内存可以简单的看做有许多小黑板构成的,每个小黑板都可以写入东西,在写新东西进去前会擦掉旧东西

    例如:a = 3

    可以理解为:一个名字为 a 的小黑板,= 为赋值符号,即写入的意思!a = 3 就是把 3 写入名字为 a 的小黑板里!好理解吧...

    那现在 a 里面是几?很明显是3!不会侮辱您的智商吧...

    继续! a = 3

          a = 2

    那现在 a 里面是几?有点难度了哦!答案是 2 !本来 a 里面是 3 但是又写入了 2 还记得上面在写新东西进去前会擦掉旧东西这句话吗 ?写入 2 之前会擦掉以前的东西哦!

    再来!a = 1

          a = 6

          a = 4

    那现在 a 里面是几?是不是有想揍4我的冲动呢?

    好吧!GMS中你可以在小黑板里写入:数字、字符、布尔值

    例如 a = "哈哈";a = 3;a = true  

    正因为其值可以改变,故:其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。

    a 就是我们声明一个变量(可以变化的小黑板)

    要区分变量名和变量值是两个不同的概念。

 

变量类型

GMS中最常用的变量类型为:

实数型:简单的说就是数字 3.24   1/3   4   0 

a=1/3 ; b=0

字符型:简单的说就是字母、汉字等

a="haha" ; b="我"

布尔型:也称为逻辑型只有两个“真”“假”true  false

a=true  ; b=false

在GML中你根本不用在意变量类型,变量(小黑板)想赋(写入)什么类型的值都可以!

例如:a=3;      //把3赋值给a,现在a变量里存有数值3

      a="你好"  //把字符"你好"赋值给a,"你好"覆盖了以前的数值3!

也就是说,在GML中一个变量可以这会儿装字符,那会儿装数值,使用起来相当方便,但在其它计算机语言里对这要求非常严格,这也是用GML制作游戏效率,比其它语言效率高80%的部分原因!其实当你越了解GMS的时候你就发现效率何止提高80%~~!是1000%~!!!

 

变量赋初值


    在程序中常常需要对变量赋初值,以便使用变量。例如你想使用变量 a 就必须对它进行赋初值,好告诉计算机我要使用变量名为 a 的一段内存空间了!(名字为a的一块小黑板了!)一般都在对象的create事件中初始化变量!
    你给变量赋什么值它就是什么类型的变量!
    例如:a = 3 ;           //现在是实数型
          a = "wojdfjf"     //现在是字符型
          a = true          //现在是布尔型

    这里要注意,你命名的变量名不能和GML内置的变量、函数、关键字同名~~!!(GMS有哪些关键字?不急以后就知道了)

    例如:if=2  //错误 if是条件语句的关键字,不能命名这个变量!你要换个名字

          iff=2 //改下就行

 

提示:对象必须放入房间哦!

Create:

b="haha" //初始化变量
show_message(b) //show_message是显示信息函数,它会把括号里的变量b显示出来

运行结果


应注意,在定义中不允许连续赋值,如 a=b=c=5 是不合法的。

Create:
a=b="haha"
show_message(b)

运行后系统提示错误!

 

变量命名

    在GML中使用的词汇大概分为:标识符,关键字,运算符。 
    1.标识符 
    在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。 
    以下标识符是合法的:
    a, x,  x3, BOOK_1, sum5 
    以下标识符是非法的:
    3s       以数字开头
    s*T      出现非法字符*
    -3x     以减号开头
    bowy-1   出现非法字符-(减号) 
    在使用标识符时还必须注意以下几点:
    (1)在标识符中,大小写是有区别的。例如 BOOK 和 book  是两个不同的标识符。
    (2)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,作到“顾名思义”。
    2.关键字
     关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。
    3.运算符 
    运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。  

    上面看不懂没关系~~~~~!!!你给你的变量(小黑板)取名字(命名)时,发现代码编辑器里你命名的变量字体颜色是黑色的就说明没问题了!!!
    一般命名都是以字母开头字母结尾!
    例如:dog = 1   //大概猜的到想要表达的是狗的数量是 1
    复杂点的命名是以字母和下划线组成!
    如果狗有几种类型怎么办呢?简单!
    例如:dog_1 =2 ;    //第一种狗 的数量是 2        
          dog_2 = 3 ;   //第二种狗 的数量是 3
    或:dog_haba = 2;    //哈巴狗 的数量是 2
        dog_simao = 3    //丝毛狗 的数量是 3
                                                                               

学习GML语言,要知道程序先执行哪一步,再执行哪一步,每一步是怎么执行的,每步执行后各个变量的值有何变化,这些都弄清楚了,才能说明你看懂了程序而已,看懂程序是你进步的开始!不能抱着感觉是这么个意思的想法去学习!看懂程序后再试着不看程序自己实现出来,这样你的逻辑思维就会一步步提高!
会用内置函数是最基础的知识,不要因为会了几个内置函数而沾沾自喜,这个函数你能自己敲代码实现吗?所以本教程的算法篇看起来没什么用,实际上确是你做游戏最有用的,例如背包、装备系统,就是二维数组的应用而已!算法没学好,你的水平永远提高不了。遇到不懂的地方,没关系,反复思考、反复实验、反复看、今天不会说不定过几天就看懂了,我学习算法时经常一个小算法要看1到2天才能看懂,仅仅是看懂!不过在反复看的过程中体会了其中的妙处,感觉自己的逻辑思维变强了,当然我也是新手,说得不对的地方请见谅。