【发布时间】:2017-11-06 23:34:40
【问题描述】:
MovePosition 函数在我的脚本中不起作用: 我试过让它变质并增加力量。我也尝试过在检查器中增加速度。我尝试增加力量并使更新功能成为“FixedUpdate” 这是我的更新函数中的内容:
if (target != null)
{
Action(target);
GameObject TemporaryBulletHandler;
TemporaryBulletHandler = Instantiate(Sphere, Bullet_Emitter.transform.position, Bullet_Emitter.transform.rotation) as GameObject;
Rigidbody TemporaryRigidBody;
TemporaryRigidBody = TemporaryBulletHandler.GetComponent<Rigidbody>();
float step = speed * Time.deltaTime;
pos = Vector3.MoveTowards(transform.position, target.position, step);
TemporaryRigidBody.MovePosition(pos);
Destroy(TemporaryBulletHandler, 10.0f);
生成的球体不会移动。
【问题讨论】:
-
如果上面的代码放在Update()中,子弹会在每一帧的相同位置(在这种情况下为Bullet_Emitter)实例化,所以你不会看到它在移动,它只是生成的在每一帧中一次又一次。为了解决这个问题,您可以将实例化代码放在 Update() 之外,并将项目符号移到 Update() 中。