![](/img/trans.png)
[英]Cannot implicitly convert type 'UnityEngine.Vector2?' to 'UnityEngine.Vector2'
[英]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.