初学者Unity3D自学(第三篇:官方例子2DPlatformer学习之角色控制)

来源:互联网 发布:软件系统评分表 编辑:程序博客网 时间:2024/06/06 05:29

这不是教程,这是学习记录.

1.控制方法--Input


从这里可以知道游戏如何控制,面板具体解释参考戳这里: http://hi.baidu.com/next2_me/item/20bfc08a931a555b840fabf9

2.方法执行顺序

像Awake(),Update()方法解释的,网上有很多,戳这里: http://www.cnblogs.com/zhangzhongxi/archive/2011/12/19/2293451.html


3.碰撞

角色上绑定了两个2D碰撞器


未完,下面待整理...


1.着地碰撞检测

grounded = Physics2D.Linecast(transform.position, groundCheck.position, 1 << LayerMask.NameToLayer("Ground"));
LayerMask.NameToLayer("Ground")为ground的层号,为12,在edit->project settings->tags and layers可以看到

1 << LayerMask.NameToLayer("Ground")的值为4096,二进制表示为 1 0000 0000 0000,指的是Ground层,从右往左表示,第0层Default,第一层...第二层......第十二层Ground







变量repeatDamagePeriod: 角色掉血频率,默认为2秒,但是实际上不是2秒,而是0.35秒,值在unity中被重新设值

血量100,每次掉10,掉血后不能跳,产生一个作用力,移动一段距离,并随机发出一个掉血音效,更新血条状态.

没血后,做了下面五件事

1)把所有碰撞器置为触发器(还没明白意思)

2)把角色放到UI层,也就是离我们最近的层,离相机最近(没死的时候,角色在中间那个飞船脚的后面,死后掉下就到脚的前面了)

3)角色控制为false

4)武器控制为false

5)播放死亡动画

0 0
原创粉丝点击