平台游戏框架Data本页总览Data 描述: 单例对象,提供了存储和访问游戏全局定义数据的统一位置。 Data.Relation 类型: 枚举。 描述: 枚举类型,表示两个游戏单位组之间的可能关系。 签名: enum Relation "Enemy" "Friend" "Neutral" "Unknown" "Any"end groupFirstPlayer 类型: 只读成员变量。 描述: 第一个玩家单位组可用的编号。 签名: const groupFirstPlayer: integer groupLastPlayer 类型: 只读成员变量。 描述: 最后一个玩家单位组可用的编号。 签名: const groupLastPlayer: integer groupHide 类型: 只读成员变量。 描述: 隐藏的单位组的编号,默认不会与其它编号的单位组发生碰撞。 签名: const groupHide: integer groupDetectPlayer 类型: 只读成员变量。 描述: 用于检测其它玩家单位组的单位组编号,默认会与所有玩家单位组发生碰撞。 签名: const groupDetectPlayer: integer groupTerrain 类型: 只读成员变量。 描述: 代表场景地形的单位组的编号,默认会与其它单位组发生碰撞。 签名: const groupTerrain: integer groupDetection 类型: 只读成员 变量。 描述: 用于检测其它单位组的单位组编号,默认会与其他任何单位组发生碰撞。 签名: const groupDetection: integer store 类型: 只读成员变量。 描述: 用于全局存储任意游戏定义数据的字典对象。 签名: const store: Dictionary setShouldContact 类型: 函数。 描述: 设置两个单位组是否应该发生碰撞。 签名: setShouldContact: function(self: Data, groupA: integer, groupB: integer, contact: boolean) 参数: 参数名类型描述groupAinteger第一个单位组的编号。groupBinteger第二个单位组的编号。contactboolean两个单位组是否会发生碰撞。 getShouldContact 类型: 函数。 描述: 获取两个单位组是否应该发生碰撞。 签名: getShouldContact: function(self: Data, groupA: integer, groupB: integer): boolean 参数: 参数名类型描述groupAinteger第一个单位组的编号。groupBinteger第二个单位组的编号。 返回值: 返回类型描述boolean两个单位组是否会发生碰撞。 setRelation 类型: 函数。 描述: 设置两个单位组之间的关系。 签名: setRelation: function(self: Data, groupA: integer, groupB: integer, relation: Relation) 参数: 参数名类型描述groupAinteger第一个单位组的编号。groupBinteger第二个单位组的编号。relationRelation两个单位组之间的关系。 getRelation 类型: 函数。 描述: 获取两个单位组之间的关系。 签名: getRelation: function(self: Data, groupA: integer, groupB: integer): Relation 参数: 参数名类型描述groupAinteger第一个单位组的编号。groupBinteger第二个单位组的编号。 返回值: 返回类型描述Relation两个单位组之间的关系. getRelation 类型: 函数。 描述: 获取两个物理体之间的关系。 签名: getRelation: function(self: Data, bodyA: Body, bodyB: Body): Relation 参数: 参数名类型描述bodyABody第一个物理体。bodyBBody第二个物理体。 返回值: 返回类型描述Relation两个物理体之间的关系。 isEnemy 类型: 函数。 描述: 两个单位组是否为"敌人"关系。 签名: isEnemy: function(self: Data, groupA: integer, groupB: integer): boolean 参数: 参数名类型描述groupAinteger第一个单位组的编号。groupBinteger第二个单位组的编号。 返回值: 返回类型描述boolean两个单位组是否为"敌人"关系。 isEnemy 类型: 函数。 描述: 两个物理体是否为"敌人"关系。 签名: isEnemy: function(self: Data, bodyA: Body, bodyB: Body): boolean 参数: 参数名类型描述bodyABody第一个物理体。bodyBBody第二个物理体。 返回值: 返回类型描述boolean两个物理体是否为"敌人"关系。 isFriend 类型: 函数。 描述: 两个单位组是否为"友方"关系。 签名: isFriend: function(self: Data, groupA: integer, groupB: integer): boolean 参数: 参数名类型描述groupAinteger第一个单位组的编号。groupBinteger第二个单位组的编号。 返回值: 返回类型描述boolean两个单位组是否为"友方"关系。 isFriend 类型: 函数。 描述: 两个物理体是否为"友方"关系。 签名: isFriend: function(self: Data, bodyA: Body, bodyB: Body): boolean 参数: 参数名类型描述bodyABody第一个物理体。bodyBBody第二个物理体。 返回值: 返回类型描述boolean两个物理体是否为"友方"关系。 isNeutral 类型: 函数。 描述: 两个单位组是否为"中立"关系。 签名: isNeutral: function(self: Data, groupA: integer, groupB: integer): boolean 参数: 参数名类型描述groupAinteger第一个单位组的编号。groupBinteger第二个单位组的编号。 返回值: 返回类型描述boolean两个单位组是否为"中立"关系。 isNeutral 类型: 函数。 描述: 两个物理体是否为"中立"关系。 签名: isNeutral: function(self: Data, bodyA: Body, bodyB: Body): boolean 参数: 参数名类型描述bodyABody第一个物理体。bodyBBody第二个物理体。 返回值: 返回类型描述boolean两个物理体是否为"中立"关系。 setDamageFactor 类型: 函数。 描述: 设置特定伤害类型对特定防御类型的加成系数,内置的"MeleeAttack"和"RangeAttack"的单位动作使用简单的计算式finalDamage = damage * bonus来计算攻击产生的伤害。 签名: setDamageFactor: function(self: Data, damageType: integer, defenceType: integer, bounus: number) 参数: 参数名类型描述damageTypeinteger伤害类型的编号。defenceTypeinteger防御类型的编号。bonusnumber伤害系数. getDamageFactor 类型: 函数。 描述: 获得特定伤害类型对特定防御类型的加成系数。 签名: getDamageFactor: function(self: Data, damageType: integer, defenceType: integer): number 参数: 参数名类型描述damageTypeinteger伤害类型的编号。defenceTypeinteger防御类型的编号。 返回值: 返回类型描述number伤害系数. isPlayer 类型: 函数。 描述: 检查一个物理体是否为玩家单位。 等同于代码 Data.groupFirstPlayer <= body.group and body.group <= Data.groupLastPlayer。 签名: isPlayer: function(self: Data, body: Body): boolean 参数: 参数名类型描述bodyBody要检查的物理体。 返回值: 返回类型描述boolean是否为玩家单位。 isTerrain 类型: 函数。 描述: 检查一个物理体是否为地形单位。 等同于代码 body.group == Data.groupTerrain. 签名: isTerrain: function(self: Data, body: Body): boolean 参数: 参数名类型描述bodyBody要检查的物理体。 返回值: 返回类型描述boolean是否为地形单位。 clear 类型: 函数。 描述: 清除存储在"Data"对象中的所有数据,包括Data.store字段中的用户自定义数据。 并将一些内置定义数据重置为默认值。 签名: clear: function(self: Data)