egret-docs-master/Lakeshore/manual/basicConcept/basicConcept
guofei 4fe0162b34 fist commit 2024-06-19 13:32:32 +08:00
..
README.md fist commit 2024-06-19 13:32:32 +08:00

README.md

1.场景

场景是游戏的基本组成部分,开始界面,结束界面,每个关卡都是一个场景。游戏中基于游戏的情节,可以在各个场景间跳转。

2.精灵

精灵可以理解为图片的容器。如果需要在游戏场景中插入一个静态图片,那么就需要把图片放置在一个精灵内来呈现。游戏制作中,通过对精灵的操作实现图片的移动,变形,旋转等动作。

3.实例

游戏中可以操控的基本单位。实例可以是一个文本框,可以是一个动画人物,可以是背景图,也可以是包含图片的精灵等等。在接下来的介绍中我们会经常提到对实例的操作,其实就是泛指一切可操作的对象。

4.实例类型

游戏中经常会有一些图片大量的反复的出现比如敌机子弹等。不可能每一个都创建一个新实例起一个新名字。这时候就需要用到同类型实例了。主场景中选中某实例按住Ctrl拖拽便会产生一个名字和所选实例相同新实例它们就是同类型实例。它们统称为一个实例类型。他们名字相同但位置大小等属性又可以各自不同可以独立操作。同类型实例也可以通过“创建”或“制造”动作产生。

5.行为

游戏中,很多逻辑是固定的,比如打飞机游戏中,用手指拖拽飞机可以移动,超级玛丽游戏中,玛丽可以根据你按键的方向做出左右移动,跳跃,蹲下等动作,这些游戏中固有,通用的逻辑就是行为。给一个物体添加某个行为后,这个物体就具有该行为的固有属性和特征。比如,给一个物体添加子弹行为,那么这个物体在游戏开始后,不需要额外的条件触发,这个物体就会像子弹一样飞行。给一个物体添加拖拽行为后,在手机屏幕上,用手指就可以在游戏场景内拖拽该物体。行为的使用,可以极大的简化游戏制作的难度和复杂度。

6.事件和事件表

游戏中的逻辑,简单描述就是,当满足什么条件时,做什么样的事,这就是一个事件的基本组成。比如,当子弹打中敌机时,敌机炸毁,这就是一个事件。而一个又一个事件组合起来就是事件表,整个游戏运行的逻辑便是通过事件表来实现的。

7.条件

条件就是事件中的触发机制。刚才举的例子,当子弹打中敌机时,敌机炸毁。其中“当子弹打中敌机时”就是一个条件。 条件分为两种:【一次性触发】和【持续性触发】。

  • 【一次性触发】 条件满足后动作只触发一次。假设事件只有1个条件与1个动作且条件为一次性触发条件那么当条件满足时动作执行且只执行一次。例如条件为“当实例创建时”动作为“水平方向移动10像素”。“当实例创建时”为一次性触发条件所以“当实例创建时”条件成立时实例只一次性的跳到右侧10像素的位置。
  • 【持续性触发】 只要条件满足动作便持续触发。假设事件只有1个条件与1个动作且条件为持续性触发条件那么只要条件满足动作便会一次持续性的执行。例如条件为“当实例宽度大于100像素”动作为“水平方向移动10像素”。“当实例宽度大于100像素”为持续性触发条件所以只要实例宽度大于100像素那么实例便持续性的每帧平移10像素。持续性触发条件默认为每帧判定动作便为每帧执行

所以在使用条件时要分清一次性触发和持续性触发条件,否则可能出现一个简单动作被反复执行,虽然游戏画面上看不出差别,但底层系统资源却可能大量的消耗浪费执行无意义操作。

8.动作

当条件满足的时候,要做的事就是动作。在刚才的例子中,当子弹打中敌机时,敌机炸毁。其中”敌机炸毁”就是动作。

9.表达式

举个简单的例子6是一个数值6+8就是一个表达式。而实际应用中我们常用的表达式一般是含有变量的比如“盒子.x+6”这个表达式就表示“盒子”实例的X坐标值加上6像素。更详细的内容请参看表达式详细介绍