2016-01-10 74 views
-1

這是一個2D自上而下的遊戲,這個劇本讓對象不斷旋轉在一個地方,始終面對玩家,並不斷產生這個方向上的子彈。敵方手錶玩家和射擊,但子彈不會投射

唯一的問題是,當然,我被困在生成子彈項目時的最後一個細節。子彈產卵,但他們只是坐在那裏。

如果玩家在物體周圍運行一圈,它會在它周圍產生一圈完美的子彈,所有這些都只是坐在那裏。我評論了我的其他一些嘗試通過搜索來解決這個問題,但沒有發現一些已經嘗試過的東西。非常感謝!

using UnityEngine; 
using System.Collections; 

public class sightPlayer : MonoBehaviour { 

public GameObject Player; 
public GameObject watcherShot; 
public Transform watcherShotPoint; 
public Rigidbody2D wShotRig; 
public float wShotforceRate = 500 ; 

public void Start() 
{ 
wShotRig = GetComponent<Rigidbody2D>() ; 
} 

void Update() { 
Vector3 dir = Player.transform.position – transform.position; 
float angle = Mathf.Atan2(dir.y,dir.x) * Mathf.Rad2Deg; 
transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward); 
StartCoroutine(「WShootEvent」); 
} 

public IEnumerator WShootEvent() 
{ 
yield return new WaitForSeconds(2f); 
GameObject wShot = (GameObject)Instantiate(watcherShot, watcherShotPoint.transform.position, Quaternion.identity); 
// wShotRig.AddForce(wShotforceRate*Vector2.MoveTowards,Vector2.*Time.deltaTime) ; 
wShotRig.AddForce(transform.TransformDirection * 50000) ; 
// wShotRig.AddForce(transform.TransformDirection * 50000) ; 
//wShotRig.rigidbody.AddForce(swipeDirection * 5); 
yield return new WaitForSeconds(2f); 
} 
} 
+0

目前你的子彈發生了什麼?它移動但不是正確的方向嗎?或者它根本不動? – Sharundaar

+0

他們根本不動。如果玩家在物體周圍繞圈運行,它會在它周圍產生一圈完美的子彈,只是坐在那裏。 –

+0

也許你的子彈預製設置不正確?確保它有一個2DRigidbody,Set Kinematic是假的。 – Sharundaar

回答

1

確保您watcherShot預製正確初始化和設置您可以嘗試在此之後,我假設你想在實體前進方向拍:

public IEnumerator WShootEvent() 
{ 
    // code omitted... 

    // projecting the transform forward vector on the 2D xy plane. 
    Vector2 fdirection = new Vector2(transform.forward.x, transform.forward.y); 
    wShotRig.AddForce(fdirection.normalized * wShotforceRate); 
} 

你的子彈預製需要具有2DRigidbody這是不能運動的,因爲它可以對其施加力量,質量低,阻力低,所以它應該正確移動。

+0

它確實有一個剛體,但是我嘗試了你的代碼並且產生了一些結果。現在,子彈在旋轉時突出物體的前部,但所有子彈直接向下射擊,無論玩家在哪裏。 –

+0

在代碼中犯了錯誤,我編輯了它,你可以再試一次嗎? – Sharundaar

+0

對不起,花了這麼長的時間來回應服務器宕機..原來我犯了一個錯誤,子彈預製仍然有重力。這就是爲什麼子彈正在向下移動。我把它取下來,並添加了你的新腳本,現在他們的子彈只是圍成一圈,不會像原來那樣移動......非常感謝這個嘗試! :) –