【Unity&DragonBones】DB中的Demon分析(一)CoreElement场景代码分析
2016-12-12 16:50
459 查看
DragonBones C#运行库支持Unity 5.x
GitHub - DragonBones/DragonBonesCSharp: DragonBones C# Runtime
DragonBones C#库 支持Unity示例展示—在线播放—优酷网,视频高清在线观看http://v.youku.com/v_show/id_XMTc2NjUwNTU2NA==.html
下载DragonBones:DragonBones 官方网站
打开DragonBones为Unity创建的Demon工程文件,里面就有一个名字为CoreElement的场景
可以看到该.CS文件的结构如下所示
为什么要定义一个名字为coreElement命名空间namespace
因为命名空间把复杂并且在整个工程文件内有相同名字类似功能的函数规范在这一个.CS文件内。
命名空间namespace作用:局部作用域,避免重复调用
参考资料:
C++中的namespace
------------------------------------------------------------------------------------------------------------------------------------------------
[RequireComponent(typeof(UnityArmatureComponent))]
这句话的意思:如果脚本A上加了[RequireComponent(typeof(B))],则当AddComponent<A>()时,如果当前没有添加组件B,则组件B会被自动添加。
参考资料:
点开 class CoreElement : MonoBehaviour ,首先就是一大段声明
------------------------------------------------------------------------------------------------------------------------------------------------
private为私有对象,仅该名字为CoreElement的class类内部调用
constant意思是不可改变的变量,一旦初始化赋值,再也不能改变这个变量的值
第1段代码定义了动画的三种类型为“正常”、“瞄准”、“攻击”,
private const string NORMAL_ANIMATION_GROUP = "normal";
private const string AIM_ANIMATION_GROUP = "aim";
private const string ATTACK_ANIMATION_GROUP = "attack";
***------------------------------------------------------------------------------------------------------------------------------------------------***
readonly只读
第2段代码定义了相关参数
private const float G = -0.005f; //下落时候的加速度
private const float GROUND = 0.0f; //地面的速度。在此处添加底边的下落速度,可以重置“下落速度”为最初始的状态
private const float JUMP_SPEED = -0.2f; //起跳的速度
private const float NORMALIZE_MOVE_SPEED = 0.03f; //“正常状态”下的移动速度
private const float MAX_MOVE_SPEED_FRONT = NORMALIZE_MOVE_SPEED * 1.4f; //最大前进移动速度
private const float MAX_MOVE_SPEED_BACK = NORMALIZE_MOVE_SPEED * 1.0f; //最大后退移动速度
//左(或者右)武器可能替换的精灵的名字 存放入一个静态只读字符串数组内。也就是说无论有几个“机甲”对象,都公用一套武器对象属性为(私有的、静态的、只读的字符串数组)
private static readonly string[] WEAPON_LEFT_LIST = { "weapon_1502b_l", "weapon_1005", "weapon_1005b", "weapon_1005c", "weapon_1005d" };
private static readonly string[] WEAPON_RIGHT_LIST = { "weapon_1502b_r", "weapon_1005", "weapon_1005b", "weapon_1005c", "weapon_1005d", "weapon_1005e" };
参考资料:
------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
GitHub - DragonBones/DragonBonesCSharp: DragonBones C# Runtime
DragonBones C#库 支持Unity示例展示—在线播放—优酷网,视频高清在线观看http://v.youku.com/v_show/id_XMTc2NjUwNTU2NA==.html
下载DragonBones:DragonBones 官方网站
打开DragonBones为Unity创建的Demon工程文件,里面就有一个名字为CoreElement的场景
可以看到该.CS文件的结构如下所示
为什么要定义一个名字为coreElement命名空间namespace
因为命名空间把复杂并且在整个工程文件内有相同名字类似功能的函数规范在这一个.CS文件内。
命名空间namespace作用:局部作用域,避免重复调用
参考资料:
C++中的namespace
------------------------------------------------------------------------------------------------------------------------------------------------[RequireComponent(typeof(UnityArmatureComponent))]
这句话的意思:如果脚本A上加了[RequireComponent(typeof(B))],则当AddComponent<A>()时,如果当前没有添加组件B,则组件B会被自动添加。
参考资料:
unity,[RequireComponent(typeof(Camera))]
Unity编辑器扩展之RequireComponent等详解_台式机_百度经验
------------------------------------------------------------------------------------------------------------------------------------------------点开 class CoreElement : MonoBehaviour ,首先就是一大段声明
------------------------------------------------------------------------------------------------------------------------------------------------
private为私有对象,仅该名字为CoreElement的class类内部调用
constant意思是不可改变的变量,一旦初始化赋值,再也不能改变这个变量的值
第1段代码定义了动画的三种类型为“正常”、“瞄准”、“攻击”,
private const string NORMAL_ANIMATION_GROUP = "normal";
private const string AIM_ANIMATION_GROUP = "aim";
private const string ATTACK_ANIMATION_GROUP = "attack";
***------------------------------------------------------------------------------------------------------------------------------------------------***
readonly只读
第2段代码定义了相关参数
private const float G = -0.005f; //下落时候的加速度
private const float GROUND = 0.0f; //地面的速度。在此处添加底边的下落速度,可以重置“下落速度”为最初始的状态
private const float JUMP_SPEED = -0.2f; //起跳的速度
private const float NORMALIZE_MOVE_SPEED = 0.03f; //“正常状态”下的移动速度
private const float MAX_MOVE_SPEED_FRONT = NORMALIZE_MOVE_SPEED * 1.4f; //最大前进移动速度
private const float MAX_MOVE_SPEED_BACK = NORMALIZE_MOVE_SPEED * 1.0f; //最大后退移动速度
//左(或者右)武器可能替换的精灵的名字 存放入一个静态只读字符串数组内。也就是说无论有几个“机甲”对象,都公用一套武器对象属性为(私有的、静态的、只读的字符串数组)
private static readonly string[] WEAPON_LEFT_LIST = { "weapon_1502b_l", "weapon_1005", "weapon_1005b", "weapon_1005c", "weapon_1005d" };
private static readonly string[] WEAPON_RIGHT_LIST = { "weapon_1502b_r", "weapon_1005", "weapon_1005b", "weapon_1005c", "weapon_1005d", "weapon_1005e" };
参考资料:
c语言中static的作用(精辟分析)
C#中static关键字的作用
***------------------------------------------------------------------------------------------------------------------------------------------------***------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
相关文章推荐
- 【Unity&Dragonbones】(代码分析)ReplaceSlotDisplay场景替换骨骼换装
- 【Unity&DragonBones】为什么创建DB的预制体,改变了路径这个DB的预制体就消失了
- 【Unity&DragonBones】DB的资料总览
- 【Unity&DragonBones&骨骼动画】DB骨骼动画如何开启缓存设置
- 【Unity&DragonBones】像素角色人物骨骼动画教程(三)骨骼动画人物奔跑起来
- 【Unity&DragonBones】实现不同身体部位协同动作(二)
- 【Unity&2DSprite&DragonBones】精灵重叠怎么办
- 【Unity&DragonBones】像素角色人物骨骼动画教程(四)蒙皮骨骼动画使得角色动作更流畅
- 【DragonBones&Unity】关于DragonBones载入Unity的问题
- 【Unity&DragonBones】图片从DragonBones导入Unity2D像素图片边缘模糊的问题
- 【Unity&DragonBones】导入图片资源的名字更改发生的问题
- 【Unity&DragonBones】像素角色人物骨骼动画教程(一)PS文件如何导入DragonBones
- 【Unity&DragonBones】实现不同身体部位协同动作(一)
- 【Unity&DragonBones】如何使得骨架Armature下的物体透明
- 【Unity&DragonBones】使用DragonBones的函数不能放Update函数的问题
- [Unity&Photon&代码问题&代码分析]右键移动 目标 位置偏差
- 【Unity&DragonBones】纸娃娃(一)替换身体部位图片
- 【Unity&DragonBone】(代码分析)创建骨骼选择动画详细
- 【Unity&DragonBones】DragonBones运行库导入Unity工程文件详细教程以及解决办法
- 【Unity&DragonBones】遇到的问题