2017-01-16 3 views
0

Я пытаюсь создать сценарий метания гранаты, но когда я его тестирую, он всегда выдает 2 гранаты одновременно.единство 2 объект икру на кнопку щелчок

public class GrenadeThrow : MonoBehaviour { 
    public GameObject bulletprefab; 
    float speed =20f; 
    // Use this for initialization 
    void Start() { } 

    // Update is called once per frame 
    void Update() { 
     if (Input.GetButtonUp("Fire1")) 
     { 
      Camera cam = Camera.main; 
      GameObject Grenade = Instantiate(bulletprefab, cam.transform.position + cam.transform.forward, cam.transform.rotation); 
      Grenade.GetComponent<Rigidbody>().AddForce(cam.transform.forward * speed, ForceMode.Impulse); 
     } 
    } 
} 

ответ

1

Прежде всего, Input.GetButtonDown больше подходит для этого, чем Input.GetButtonUp. Вы можете попробовать и посмотреть, все ли то, что вы хотите, Input.GetButtonDown.

, когда я проверить это, он всегда нерестятся 2 гранаты одновременно

Если предположить, что это реальный код, который вы используете, чтобы метать икру и бросать объекты, то он должен работать нормально.

Там две возможные проблемы:

.The GrenadeThrow сценарий, скорее всего, присоединенные к в-же геймобжекты несколько раз.

enter image description here

проблема .The может быть, что у вас есть GrenadeThrow сценарий прилагается к кратному геймобжекты. Он должен быть привязан только к одному GameObject.

enter image description here

+0

да я получил его я бросил сценарий в символ, а затем случайно бросить другой GameObject со сценарием в символ снова – TheLeader

+0

Ницца. Выяснилось, что проблема заключается в дублировании. Счастливое кодирование! – Programmer

Смежные вопросы