【Unity&DragonBones】DB中的Demon分析(一)CoreElement场景代码分析

49 篇文章 0 订阅
34 篇文章 0 订阅


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会被自动添加。

参考资料:

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关键字的作用




***------------------------------------------------------------------------------------------------------------------------------------------------***






------------------------------------------------------------------------------------------------------------------------------------------------









------------------------------------------------------------------------------------------------------------------------------------------------










------------------------------------------------------------------------------------------------------------------------------------------------


------------------------------------------------------------------------------------------------------------------------------------------------







  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值