你好,我有这个 unityCode 来检查一个字符是否接地
`private void FixedUpdate(){ is_on_ground = false;
// The player is grounded if a circlecast to the groundcheck position hits anything designated as ground
// This can be done using layers instead but Sample Assets will not overwrite your project settings.
Collider2D[] colliders = Physics2D.OverlapCircleAll(m_GroundCheck.position, k_GroundedRadius, m_WhatIsGround);
for (int i = 0; i < colliders.Length; i++) {
if (colliders[i].gameObject != gameObject) {
is_on_ground = true;
}
}
}`
有人可以解释 if (colliders[i].gameObject != gameObject) if 语句的作用吗?
它正在检查以确保在重叠中找到的当前碰撞器不是脚本所在的游戏对象。
这是相当奇怪的,因为它是对特定层的地面测试,因此接地的物体很可能不是地面的一部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句