可以在animator面板里选择+添加float变量实现在direction的变化下进行fang'xiang'diao'huan
可以在animator面板里选择+添加float变量实现在direction的变化下进行fang'xiang'diao'huan
让敌人自己更改方向
布尔类型:游戏中mou'zhong'zhuang'tai'de'yi'zhong'kai'guan
API:方法
触发检测的其他几个方法:使用ontriggerstay2d
为Ruby添加无敌时间,防止ruby一瞬间就挂了
trigger(触发器):触发某一个事件的机关(在box collider 2d里)
Ruby血量的定义与改变血量的方法
创建地形碰撞器并合并
可以直接给tilemap添加tilemap collider碰撞器组件,如果不想要某些瓦片添加碰撞器可以直接将该瓦片的collider type改为none
如果想要碰撞器连起来可以添加composite collider 2d这个组件然后再tilemap collider组件上勾选上used by composite
需要将rigidbody 2d里的body类型改为static静态,否则会出现世界被ruby推动的xiao'hau
碰撞体“卡角”问题解决
将碰撞体调整到合适的大小
此外,可以创建一个碰撞器来使ruby无法“跳河”
静态方法的调用:类名.方法名(参数),全局可访问,不需要实例
普通(成员变量)方法的调用:对象名.方法名(参数),需要实例
关于使用unity本身的物理移动之后移速变慢的解决方法
将Update方法换成FixedUpdate方法,其他目前不变
使用getcomponent方法可以调取到指定的组件
修复Ruby移动抖动问题
抖动发生的原因是因为unity的物理引擎的代码与我们自己制作的c#的代码chong'tu
修复Ruby的旋转问题
在盒子的碰撞器的脚本里选择edit collider,拉动绿点调整碰撞器的大小,可以调整碰撞体积
旋转问题:在预制体中rigidbody中选中constraints,将z打勾,使z轴dong'jie
发生碰撞检测的条件
双方必须都要有碰撞器,且一方有刚体,最好是运动的一方。因为unity为了性能的优化,刚体长时间不发生碰撞检测会休眠
刚体与碰撞器
rigidbody(刚体组件):使游戏物体能获得重力,接受外界的受力和扭力功能的组件,可以通过脚本或者是物理引擎为游戏对象添加刚体组件
BoxCollider(碰撞器组件):使游戏物体具有跟挂载刚体组件的游戏物体发生碰撞能力的组件
可以在预制体子体的overrides里将子体的修改效果应用到母体上从而改变所有子体的效果
预制体的制作
Prefab(预制体):是unity中的一种特殊资源,预制体就是一个或者一系列组件的集合体,可以使用预制体实例化克隆体,后续可对克隆体属性进行统一修改
Ruby与金属盒遮挡效果的实现
sprite sort point-pivot轴心点:是可以自定义的特殊点,充当精灵的锚点,精灵以此为支点进行旋转,坐标点位置则是指轴心点的位置
根据自定义轴向控制sprite的渲染
要做到覆盖一部分的效果需要edit-project settings-graphics-camera settings-将transparency sort mode设置为Custom Axis然后调整该sprite的y坐标来实现只遮挡一部分的功能(谁的Y轴坐标大,就后画谁)
场景与sprite之间的渲染适合用层级,而精灵与精灵之间的渲染适合用transparency sort mode来渲染
渲染顺序与层级设置
有时候角色会被盖住可能与深度有关,即z轴
如果处于同一个深度之下,那么就很有可能会被盖住
如果不使用z轴来调整则需要涉及到层级
layer(层级):可以在2D游戏物体中的spriteRenderer和地形TilemapRenderer组件中的Order in 拉野属性中去设置层级的大小,值越大,越后渲染,值越小,越先渲染,值大的物体会覆盖值小的游戏物体
层级顺序可以使用inspector里的Additional settings中的order in layer来调整