2015-02-02 3 views
1

저는 초보자이며 웜과 같은 2D 턴 기반 게임을 다시 만들고 싶습니다. 나는 포탑과 총알을 가지고있다. 내가 가지고있는 문제는 내가 2D에서 colliders와 rigidbodies를 사용하기 때문에이 코드를 사용할 수 없다는 것입니다. 문서에서 체크했는데 2D에서 rigidbody.addforce가 있지만 사용법을 이해하지 못했습니다. 이 질문은 어리석은 짓 일지 모르지만 나와 맺어 져야합니다.2D 게임의 탄환에 rigidbody.addforce를 사용하는 방법

using UnityEngine; 
using System.Collections; 
public class Bullet : MonoBehaviour { 
    public float speed; 

    // Use this for initialization 
    void Start() { 
     rigidbody.AddForce(5, 5, 0, ForceMode.Impulse); 
    } 

    // Update is called once per frame 
    void Update() { 
     transform.Translate(speed * Time.deltaTime, 0, 0); 
    } 

    void OnCollisionEnter(Collision c){ 
     if (c.gameObject.tag == "Platform") { 
      Destroy(gameObject); 
     } 
    } 
} 

답변

1

그냥이 변경 :

rigidbody.AddForce (5,5,0,ForceMode.Impulse); 

차원 동등한 :

rigidbody2D.AddForce(new Vector2(5, 5), ForceMode2D.Impulse); 

을 당신이 대신 OnCollisionEnter2D를 사용해야하는 게임 오브젝트에 부착 된 2D colliders이 또한 경우 OnCollisionEnter

PS. 속도에 영향을주는 힘만 원한다면 다음 줄을 제거하십시오.

transform.Translate(speed * Time.deltaTime, 0, 0);