2017-04-20 3 views
1

Wenn der Spieler sich nicht bewegen und einfach stehen, ist das vorgefertigte Geschoss normale Bewegung (Bild A). Mein Prefab zeigte ein schlechtes Verhalten, während der Spieler rennt oder sich bewegt (Bild B).Weird Verhalten Instanz bulk prefab

Please Check the Picture

Das ist mein firePos Skript:

public class FirePos : MonoBehaviour { 
    public bool _facingRight; 
    public GameObject bulletRight, bulletLeft; 
    bool canShootFire; 
    // Use this for initialization 
    void Start() { 
     canShootFire = true; 
     _facingRight = GameObject.Find ("Player").GetComponent<PlayerManager>(); 
    } 

    // Update is called once per frame 
    void Update() { 
     if(Input.GetKeyDown(KeyCode.K) && canShootFire && GameObject.Find("Player").GetComponent<PlayerManager>().facingRight){ 
      canShootFire = false; 
      Instantiate (bulletRight, transform.position, transform.rotation); 
      StartCoroutine ("Firing"); 
     } 

     if(Input.GetKeyDown(KeyCode.K) && canShootFire && !GameObject.Find("Player").GetComponent<PlayerManager>().facingRight){ 
      canShootFire = false; 
      Instantiate (bulletLeft, transform.position, transform.rotation); 
      StartCoroutine ("Firing"); 
     } 

    } 

    IEnumerator Firing(){ 
     yield return new WaitForSeconds (.5f); 
     canShootFire = true; 
    } 

} 

Diese für Kugel Bewegung

public class bulletRight : MonoBehaviour { 
public float speed; 
// Use this for initialization 
void Start() { 

} 

// Update is called once per frame 
void Update() { 
    transform.Translate (Vector2.right*speed*Time.deltaTime,0); 
    Destroy (gameObject,1.5f); 
} 
} 
+0

sollten Sie Bullet-Skript senden. Wie bewegt sich die Kugel? –

+0

ist dieses Skript an Ihr Player-Objekt angehängt? – Hristo

+0

@ MustafaErdemKöşk oke ich mache es einfach. –

Antwort

0

Ich denke, das nur Physik. Sie gehen davon aus, dass die Anfangsgeschwindigkeit Ihrer Kugel null ist, ist es aber nicht. Es ist die aktuelle Geschwindigkeit des Schützen. Versuchen Sie, diese Anfangsgeschwindigkeit im Bullet-Objekt festzulegen und sie zu speed hinzuzufügen.

+0

Sorry, ich bin zu Anfänger, um das zu verstehen. Werde mich freuen, wenn du den Code schreibst. Vielen Dank –