我想我开始喜欢这种编码。无论如何,在我目前的Shooting Gallery项目中,我有一个JavaScript问题。我正在Unity3d中构建,我得到一个“转换”不是下面插入的代码上的“对象”错误的成员。
var newball;
static var tempBasketBall :Rigidbody;
private var canFire = true;
var pos :Transform[];
var ball1 :Rigidbody;
var canControl1 = true;
var destroyTime :int = 6;
var player1 :GameObject;
var b1Parent :Transform;
var yVel :float;
var zVel :float;
function Start()
{
ball1 = Instantiate (tempBasketBall, pos[0].position, pos[0].rotation);
ball1.transform.parent = b1Parent;
}
function Update() {
if(Input.GetButton("Fire1"))
animation.PlayQueued("fire", QueueMode.PlayNow);
}
function TapFunction() {
animation.PlayQueued("fire", QueueMode.PlayNow);
player1.animation.PlayQueued("fire");
ball1.transform.parent = null;
ball1.useGravity = true;
ball1.velocity = transform.TransformDirection(0, yVel, zVel);
MakeBall1(pos[0]);
canControl1 = false;
player1.animation.PlayQueued("idle");
}
function MakeBall1(pos)
{
yield new WaitForSeconds(1);
ball1 = Instantiate(tempBasketBall, pos.transform.position, pos.transform.rotation);
ball1.transform.parent = b1Parent;
canControl1 = true;
}
错误在最后的MakeBall函数中。对于我未经训练的头脑,似乎我建立了 在start函数中转换。像往常一样,任何援助和分享知识都将受到极大的赞赏。
答案 0 :(得分:0)
变换(你作为参数传递这种类型的对象)没有“变换”成员,你应该使用pos.position