Unity の初心者なので、ワーム ゲームのようなターン制のゲームに取り組んでいます。しかし、何らかの理由で、私の攻撃スクリプトは左側のユニットに対してのみ機能し、右側のユニットには機能しません。具体的には、私がインスタンス化した弾丸は、右側の弾丸を発射すると間違った方向に進みますが、左側の弾丸は期待どおりに機能します。文字ボタン用に別のスクリプトを用意していますが、箇条書きには同じスクリプトを使用しています。
ブレットスクリプト
public float speed;
public float posX, posY;
// Use this for initialization
void Start () {
rigidbody2D.AddForce (new Vector2 (posX, posY), ForceMode2D.Impulse);
}
// Update is called once per frame
void Update () {
//transform.Translate (speed * Time.deltaTime, 0, 0);
}
void OnCollisionEnter2D(Collision2D c){
if (c.gameObject.tag == "Base") {
Destroy(gameObject);
Destroy(c.gameObject);
}
else if(c.gameObject.tag == "Player2"){
Destroy(gameObject);
Destroy(c.gameObject);
}
}
void OnBecameInvisible () {
Destroy(gameObject);
}
キャラクタースクリプト
gameObject go は弾丸のプレハブです
public GameObject go;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if(gameObject.tag == "Player2"){
if(Input.GetKeyUp(KeyCode.Backspace)){
Instantiate(go,transform.position,transform.rotation);
}
}
}
}