在Unity3D中如何使用Javascript指定被实例化的物体出现的位置?
展开全部
实例化的同时就可以指定被实例化的物体的位置,即 position
Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object
这样你不需要再用Transform.Position了,
如果你省略了第二个参数(position : Vector3)那么他会出现在这个脚本所附着的物体的位置.
如果你想修改则需将被实例化的物体指定为变量,如
clone = Instantiate(projectile, transform.position, transform.rotation);
//上面的transform.position是脚本所附着的物体的位置,可以另换,如Vector3(0, 0, 8)
然后修改clone 的位置
clone.position= Vector3(5, 0, 8);
transform.position(请注意小写)当然是不行的,他是GameObject .transform.position 的简写,就是GameObject 的位置,GameObject 是什么?就是脚本所附着的物体,不是被实例化的物体
Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object
这样你不需要再用Transform.Position了,
如果你省略了第二个参数(position : Vector3)那么他会出现在这个脚本所附着的物体的位置.
如果你想修改则需将被实例化的物体指定为变量,如
clone = Instantiate(projectile, transform.position, transform.rotation);
//上面的transform.position是脚本所附着的物体的位置,可以另换,如Vector3(0, 0, 8)
然后修改clone 的位置
clone.position= Vector3(5, 0, 8);
transform.position(请注意小写)当然是不行的,他是GameObject .transform.position 的简写,就是GameObject 的位置,GameObject 是什么?就是脚本所附着的物体,不是被实例化的物体
追问
那么请问是否可以把被实例化的物体的位置给设成公开变量?
追答
可以.
public var clone : Transform;
public var newpos : Vector3;
function Start () {
var newclone = Instantiate(clone, newpos, transform.rotation);//newpos 可以设置了,也可以在update 中更新
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询