不能隐式转换类型为'unityengine.vector3& # 39;
本文关键字:unityengine vector3 转换 类型 不能 | 更新日期: 2023-09-27 18:01:33
嗨,我是unity的新手,所以这是我的代码:
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
var pos = transform.position;
pos.x += 1;
transform.position = pos;
string ss = "hellow";
if(pos>100){
print (ss);
}
}
}
但是在if条件行中给我这个错误:不能隐式地将类型int'转换为unityengine.vector3'
transform。position的类型为Vector3。您应该在if条件中使用pos.x> 100而不是pos> 100。
你犯了两个错误。
首先,您不能在c#中一次修改单个轴的值。你必须重新赋值整个向量
所以,pos.x += 1;
是错误的,它应该是:
pos = new Vector3(pos.x + 1, pos.y, pos.z);
最后,测试if(pos>100){
是错误的:你应该采取一个特定的轴的值来检查(我认为:if(pos.x>100){
)。