이제 초보자가 화합했습니다. 지금 나는 웜 게임과 같은 방향 전환 게임을하고 있습니다. 하지만 어떤 이유로 공격 스크립트는 왼쪽의 유닛에서만 작동하고 오른쪽의 유닛에서는 작동하지 않습니다. 특히, 인스턴스화하는 총알은 오른쪽에있는 인스턴스에 대해 해고 될 때 잘못된 방향으로 이동하지만 왼쪽에있는 것과 똑같이 예상대로 작동합니다. 나는 문자 버튼을위한 별도의 스크립트를 가지고 있지만 총알에는 동일한 스크립트를 사용하고 있습니다.글 머리 기호가 AddForce로 잘못 찍습니다.
총알 스크립트
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);
}
게임 오브젝트의 이동 당신은 같은 힘을 적용 총알
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);
}
}
}
}
어떻게'posX'와'posY'를 계산합니까? 그들은 방향을 설정하는 것 같습니다. – maZZZu
한 번 비슷한 문제가있었습니다. 총알과 사수가 같은 충돌 층에 있었기 때문입니다. 총알이 잘못된 방향으로 발사되는 것처럼 보였지만 일단 층을 분리하면 잘 움직였습니다. – Catwood