2013-07-01 36 views
0

目前我有一个脚本是发射一个球体,当我按下它让它燃烧的按钮;颗粒出来但不会在屏幕上移动,它只会停留在静止的位置。而我想它跨着屏幕上移动...子弹不移动团结

脚本:

#pragma strict 

public var pellet : Transform; 


function Start() { 



} 

function Update() {  

    if (Input.GetKeyUp("o")) 
    { 
     var pelletfire = Instantiate (pellet, gameObject.Find("pellet_Spawn").transform.position, Quaternion.identity); 
     pelletfire.rigidbody.AddForce(transform.forward * 500); 
    } 


} 

感谢任何suggesitons

+0

“Pellet”是一个合适的预制件,还是将它附加到场景中已有的物体上?如果后者是Unity,则会放弃阻止对“AddForce”的调用的无效转换异常。我试过你的代码,它在我的机器上工作得很好(向前移动),没有变化。默认的刚体参数。 – Jerdak

回答

0

与这 -

pelletfire.rigidbody.AddForce(transform.forward * 100,ForceMode.Impulse);

更换你行欲了解更多细节,请查看统一的forcemode文档 -

http://unity3d.com/learn/tutorials/modules/beginner/physics/addforce http://docs.unity3d.com/Documentation/ScriptReference/ForceMode.html

您还需要一个名为“pellet_Spawn”的场景中的GameObject。 和你的预制件应该有一个刚体连接到它。 并且该脚本需要附加到场景中的GameObject。 并设置检查员的预制件。