Unity Demo新手记录,碰撞、动画

demo过程中遇到的坑和经验总结

  1. Button,Image属于UGUI,需要一个Canvas(画布)。手机适配,在CanvasScaler中选择Scale withScreen Size进行适配,根据屏幕进行拉伸。
  2. 2D的碰撞需要collider2D,并且添加刚体rigidbody 2D组件,注意设置重力为0。检测碰撞需要使用2D相关的,如果碰撞体任意一方勾选isTrigger,使用trigger碰撞函数。
  3. 世界坐标(transform)与本地坐标(localtransform)注意区分
  4. pivot是物体的中心点,锚点是设置相对父物体的位置
  5. 动画可以使用骨骼动画,安装龙骨插件;也可以使用animation,每个动画需要有一个animation controller。
  6. 父物体和子物体的碰撞独立开,需要两个物体都添加刚体组件,否则子物体碰撞会触发父物体的碰撞检测函数
  7. 位置变换,当闪烁,可以使用transform = newpos,当需要位移效果,缓慢移动到相应位置,需要插值,方法有Vector3.MoveTowards 、Vector3.Lerp
  8. 一切脚本都是组件,可以使用GetComponent、AddComponent获取和添加
  9. 限制人物移动客户端这边可以用碰撞体,然后射线Physics2D.Raycast,映射到具体的层(1 << LayerMask.NameToLayer)
  10. 人物移动理论上是服务器计算,可以传一个力度和方向给服务器,但是demo这边是客户端移动后把位置传给服务器然后转发
  11. 物品的拖动,继承IDragHandler,OnDrag相关函数
  12. 时间控制等可以使用协程,如时间条,进度条
  13. 常用物体可以生成预制体,prefab,Resources.Load("") as GameObject; Instantiate(itemGo[i]) as GameObject
  14. 尽量少使用static变量,这样有利于重新初始化,最后有个问题是demo需要杀进程重启。。影响游戏体验
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值