gamemaker吧 关注:13,696贴子:95,910
  • 4回复贴,共1

[心得]资料结构使用上的技巧

只看楼主收藏回复

"电脑认数字的能力比人强"
"人认文字的能力比电脑强"
假设我创建了一个array,存著各种颜色
color[0]=c_blue;
color[1]=c_black;
color[2]=c_green;
     .
     .
     .
我弄了许多颜色存在color[]里面
但是我要用的时候才发现,我怎麼知道color[0]是什麼东西,color[1]又是什麼?
正常人是不会去背这种东西的,所以这个时候常数就判上用场了。
什麼是常数(const)? 常数就是不会改变的变数,你只能读取他,却不能去修改他。
譬如pi=3.14759....这是我们熟知的圆周率,他是永远不会改变的。
我们就可以宣告一个pi常数,里面存3.14759....。
回到上面的范例,我们可以利用常数的特点。宣告几个常数
_blue=0;
_black=1;
_green=2;
如此一来,当我们想要从阵列里取出绿色时,我们可以这样做
color[_green]
以此类推,这种方法也可以应用在list grid上面。
这种方法的优点是直观,而我再使用这个方法时,习惯在常数前面加底线(_),已区分常数与一般变数。
常数的宣告方法比较麻烦一点,gm8的常数功能需要pro版本才能使用。
使用快捷键shift+ctrl+n可以叫出定义常数的视窗
name代表常数的名称,value代表常数的值。
另外,你也可以直接读取文字档来定义常数。
文法跟定义变数一样,如:a=2 b=3
然后点击load选取编辑好的文字档就可以了。



1楼2010-06-09 01:04回复
    喔 莲快捷键都研究了~
    常量很有用,就是要注意,不要与现有的变量名重复,这样引发的错误是不会正常提示的。


    2楼2010-06-09 01:26
    回复
      2026-02-23 20:27:50
      广告
      不感兴趣
      开通SVIP免广告
      恩恩
      所以我都固定将常量的名称前加底线以区别


      3楼2010-06-09 01:49
      回复
        哦哦这个好办法~~gm现在无法注释中文,这样效果要好的多呢。。


        IP属地:四川4楼2010-06-09 08:30
        回复
          常数的话一般用全大写来标明
          前下划线则多用于stripts里的临时变量……
          个人习惯……


          IP属地:上海5楼2010-06-09 12:51
          回复