通过C#Unity投掷游戏对象

时间:2015-09-10 20:12:03

标签: c# unity3d

在获取游戏对象方面遇到一些麻烦。我有一个2D游戏,我想扔的游戏对象是手榴弹。目前,我有以下代码:

SELECT `ID_Pilot` ,`PilotStationDate`  ,`PilotWaitingTime`, FORMAT(SUM( `PilotWaitingTime`),2)  AS Total
    FROM pilot GROUP BY ID_Pilot;

我希望该对象至少会被抛出角色手,除非根本没有任何反应。任何帮助/?

1 个答案:

答案 0 :(得分:1)

您需要在grenadeObject预制件上安装一个组件,例如手榴弹脚本。在那里你会有一个Vector3用于它应该去的方向和一个浮动的速度。在该脚本的Start()中,您将使用速度和方向来发射手榴弹。速度和方向由您在问题中提供的课程分配。

以下是Grenade类的示例:

public class Grenade : Monobehaviour {

    public Vector3 direction;
    public float speed;

    void Start () {

        // initiate movement of the grenade

    }

}

您的课程更新了问题:

public GameObject grenadeObject;

void Update() {

   if (Input.GetKeyDown(KeyCode.I)) {

       animator.SetBool("Grenade", true);
       GrenadeThrow();

    }

}

void GrenadeThrow() {

    StartCoroutine(COPlayOneShot("Grenade")); // unknown function
    Grenade grenade = Instantiate(grenadeObject, new Vector3(10 * 2.0F, 0, 0), Quaternion.identity).GetComponent<Grenade> ();
    grenade.direction = Vector3.one; // change this to the appropriate direction
    grenade.speed = 10f; // change this to the appropriate speed

}


IEnumerator GrenadeCooldown() {

    canFire = false;
    yield return new WaitForSeconds(0.01f);
    //rifleMuzzle.GetComponent<ParticleSystem>().top();
    canFire = true;
    animator.SetBool("Grenade",false);
}