嗨,我是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’
发布于 2016-08-10 15:30:56
transform.position的类型为Vector3。您应该在if条件中使用pos.x > 100,而不是pos > 100。
发布于 2016-08-10 15:38:26
在这里,你犯了两个错误。
首先,您不能在C#中一次修改单个轴的值。你必须重新分配整个向量。
因此,pos.x += 1;
是错误的,它应该是:
pos = new Vector3(pos.x + 1, pos.y, pos.z);
最后,测试if(pos>100){
也是错误的:您应该采用一个特定的轴的值进行检查(我认为:if(pos.x>100){
)。
https://stackoverflow.com/questions/38866826
复制相似问题