为什么BoxCollider和GameObject移到错误的位置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么BoxCollider和GameObject移到错误的位置?相关的知识,希望对你有一定的参考价值。

我有一个空的GameObject充当屏障。它具有Kinematic Rigidbody2D和BoxCollider2D。游戏开始时,它可以与坐在它上面的其他GameObject完美配合,但是当active布尔值翻转时,该对象将转换到错误的位置。而不是转到Vector3(0,-1060,0),而是转到Vector3(0,-2932.16,-219.24)。为什么这样做呢???

public static bool active = false;
private Rigidbody2D block;
private Vector3 endPosition = new Vector3(0, -1060, 0);

void Start()

    block = GetComponent<Rigidbody2D>();


void Update()

    if (active)
    
        transform.position = endPosition;
        block.transform.position = endPosition;
        active = false;
    

我有一个空的GameObject充当屏障。它具有Kinematic Rigidbody2D和BoxCollider2D。游戏开始时,它可以与坐在它上面的其他GameObject完美配合,但是当...

答案

仅当本地位置不同时,才必须这样做。您最有可能在本地空间工作,而不是在世界空间工作。

以上是关于为什么BoxCollider和GameObject移到错误的位置?的主要内容,如果未能解决你的问题,请参考以下文章

小白_Unity引擎_获取组件和添加组件

[小巩u3d] 关于Raycast对BoxCollider和BoxCollider2d的碰撞监测规则

Unity Bound

unity 识别哪个boxcollider

根据实际玩家精灵计算 BoxCollider2D

UnityEditor扩展开发_右键菜单很详细说明,以及优先参数的一张图