繁体   English   中英

为什么不能将类型'UnityEngine.Vector2'隐式转换为'float'?

[英]Why can I not implicitly convert type 'UnityEngine.Vector2' to 'float'?

我试图在不重新加载场景的情况下重设对象在主菜单屏幕上的位置。 但是,尝试重置下落物体的速度和角速度时,出现此错误(无法将类型'UnityEngine.Vector2'隐式转换为'float')。

我尝试将“ Vector2.zero”部分替换为“ 0f”,并替换为等于0f的浮点数,但它也不起作用。

void Update () {
        transform.Translate (Vector2.right * Time.deltaTime * moveSpeed);
        if (player.transform.position.x >= 13f) {
            player.GetComponent<Rigidbody2D> ().velocity = Vector2.zero;
            player.GetComponent<Rigidbody2D> ().angularVelocity = Vector2.zero;
            player.transform.position = new Vector2 (-8.5f, 6f);
        }
    }

您的问题在这里:

player.GetComponent<Rigidbody2D>().angularVelocity = Vector2.zero;

angularVelocity是一个浮点数,而不是向量。 您正在尝试传递一对值,其中编译器只能使用一个值,因此它不了解您想做什么。

您可以改为分配0f

player.GetComponent<Rigidbody2D>().angularVelocity = 0f;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM