2014-12-06 38 views
2

我有這個問題,我無法修復它。我已經試圖在互聯網上搜索,但我什麼也沒找到。 「射彈產卵」位於我的角色旁邊。當我用鼠標左鍵點擊鼠標時,彈丸開始向前射擊(例如,Z軸以20倍速度),但是這個問題讓我很生氣。有時它從正確的地方開始,有時在每次點擊之下和之下。彈丸Y軸開始位置 - 2.5D平臺

public Rigidbody projectile; 
public float speed = 20; 

private Transform spawnPoint; 
private int SPAWN_DISTANCE = 1; 

void Awake() 
{ 
    spawnPoint = transform.Find("SpawnPoint"); 
} 

void Update() 
{ 
    // 
     if (Input.GetButtonDown("Fire1")) 
     { 
      atkSpeed = 0.2f; 
      Shoot(projectile); 
      attackTime = atkSpeed; 
      chargeLevel = 0; 
     } 
    // 

} 

void Shoot(Rigidbody proj){ 
     Rigidbody _projBody = Instantiate(proj, spawnPoint.position + SPAWN_DISTANCE * transform.forward, transform.rotation) as Rigidbody; 
     _projBody.velocity = transform.TransformDirection(new Vector3(0, 0,speed)); 
} 

視頻正在發生的事情:https://www.youtube.com/watch?v=GLgrfl2zU9w

編輯:我解決了MYSELF YESTERDAY。

回答

0

把一個空GameObject放在你想讓子彈產生的地方。將它嵌入到發射的角色中。

然後找到SpawnPoint

private Transform spawnPoint; 
private int SPAWN_DISTANCE = 1; 

void Awake() 
{ 
    spawnPoint = transform.Find("SpawnPoint"); 
} 

此外,還可對拍攝進行此更改。

void Shoot() 
{ 
    Rigidbody _projBody = Instantiate(projectile, spawnPoint.position + SPAWN_DISTANCE * transform.forward, transform.rotation) as Rigidbody; 
    _projBody.velocity = transform.TransformDirection(new Vector3(0, 0,speed)); 
} 
+0

當我讀代碼時,我以爲「它會工作的!」但它不工作:/。仍然是視頻的相同問題。無論如何,謝謝你的時間:) – ontech7 2014-12-07 09:00:51

+0

我解決了我自己,無論如何謝謝你! – ontech7 2014-12-07 09:44:16