评论

绝对新手教程系列7-谁来帮我做记录

游戏开发中的记录员---变量。

这一节,我们将要学习游戏开发中的记录员---变量。

开始之前,先提几个问题:

- 变量的作用是什么?

- 变量分为哪些类型?

- 我们什么时候用到变量?

- 如何判断使用哪种类型的变量?

欢迎带着这几个问题,继续向下阅读,寻找答案。

我把变量比喻为游戏开发中的记录员,顾名思义就是帮助记录的。那么游戏中都有哪些东西需要记录呢?以最简单的“打飞机”小游戏作为例子,在这个游戏中可能需要记录以下这些东西:

- 得分

- 你的飞机的血量

- 敌人的飞机的血量

- 游戏是否结束

玩家需要知道自己在游戏中得了多少分(击毁一架敌机能得一分),因此,需要一个“得分”的变量帮助记录。

通常作为游戏的主角(你的战机)是需要有血量的,每被攻击到一次,血量就会减1,血量为0时,游戏就结束了。所以我们需要一个叫做“战机血量”的变量来帮助记录血量。

作为敌人也是需要有血量的,小的敌机血量为1,一下就干掉了,大的敌机血量为2,需要攻击两次才能干掉。所以我们需要一个“敌机血量”的变量来记录。

最后,我们需要一个“游戏是否结束”的变量来记录游戏是否结束,因为游戏结束后,需要出现游戏结束的提示,并且游戏结束后,玩家就不应该再能对游戏进行操作了,所以我们需要一个记录,来提示我们,什么时候该出现游戏结束的提示,什么时候不能让玩家进行操作。

在游戏中任何有需要记录的东西,都可以用到“变量”,这就是“变量”在游戏开发中的作用。

变量分为两种类型:全局的,局部的。

全局变量就是在整个游戏中做记录的变量,局部变量就是在游戏中的部分物体上做记录的变量。

依旧使用“打飞机”小游戏作为示例,游戏中包含四个变量“得分”,“战机血量”,“敌机血量”,“游戏是否结束”。

“得分”是记录整个游戏过程中玩家共击毁了多少架敌机,所以“得分”是全局变量。

“战机血量”记录的是玩家的血量,一旦它变为0,对于整个游戏来说就意味着游戏结束了,所以“战机血量”也是全局变量。

“游戏是否结束”是记录游戏的整个状态的,所以它也是全局变量。

“敌机血量”我们上方有提到,小的敌机血量为1,大的敌机血量为2。所以这个血量记录的是每一架敌机的血量,变量记录的是游戏中的每一架敌机,所以它是一个局部变量。

总结一下,如果面对的是整个游戏做一项记录,那么就使用“全局变量”,如果针对的是游戏中的单个物体,那么就使用“局部变量”来做记录。

下面我们学习一个如何创建全局变量和局部变量。

找到最右侧的“数据区”,点击“新建变量”按钮。

在弹出的对话框中填上变量的名字“得分”,然后选择“全局”,点击“确定”。

看一下数据区中,出现了一个全局的“得分”变量。这样一个全局变量就创建好啦!

接着,创建另外两个全局的变量,“战机血量”和“游戏是否结束”,创建完成后数据区中会出现三个全局变量。

小提示:选中任意的全局变量,前面会出现一个红色的圆并带有一个减号,点击即可将这个变量删除。

下面,我们继续来创建最后一个局部变量:“敌机血量”。

在层级管理中选中红色的小敌机,然后在数据区中点击“新建变量”。

在弹出框中输入变量的名称“敌机血量”,然后选择“局部”(注意观察局部显示的图片就是你选择的红色小敌机的图片),点击“确定”。

观察一下数据区,在敌机下出现了敌机血量的局部变量。

我们设置一下变量的值,双击“敌机血量”后面的数值0,即可对数值进行修改,这里我们把红色小敌机的血量设置为1。

接着,我们为蓝色的大敌机增加一个“敌机血量”的局部变量,并且将数值设置为2,看起来应该是下面这样。

最后我们设置一下全局变量的数值,得分默认为0,因为还没有击毁任何的敌机呢!游戏是否结束默认为0,0 表示没有结束,1 表示游戏结束。战机血量设置为1,意味着我们只要被敌机打到一次就完蛋了。

回顾一下:

我们了解了变量在游戏开发中的作用,以及变量的两种类型:全局变量和局部变量。

当面对整个游戏时使用全局变量,当面对游戏中的某个物体时,使用局部变量。

我们学习了如何创建全局变量与局部变量,并且编辑了它们的数值。

想一下在经典的俄罗斯方块游戏中,都需要对哪些东西做记录,哪些是属于全局的,哪些是属于局部的呢?

欢迎关注我的公众号:小蚂蚁游戏。手把手带你进入游戏开发的世界!

最后一次编辑于  03-15  
点赞 1
收藏
评论

1 个评论

  • addy
    addy
    03-16

    如果有视频会更赞

    03-16
    赞同
    回复 1
    • 于骏
      于骏
      03-16
      以后会考虑加哒
      03-16
      回复
登录 后发表内容