1

我是一个团结的初学者,我想重新创建一个像蠕虫这样的 2D 回合制游戏。我有炮塔和子弹。我遇到的问题是我无法使用此代码,因为我在 2D 中使用对撞机和刚体,我检查了文档并且在 2D 中有一个刚体.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);
        }
    }
}
4

1 回答 1

1

只需更改此:

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

到 2D 等效:

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

此外,如果您将 2D 对撞机附加到您需要使用的游戏对象,OnCollisionEnter2D而不是OnCollisionEnter

PS。如果您只想让力影响速度,请删除此行:

    transform.Translate(speed * Time.deltaTime, 0, 0);
于 2015-02-02T17:18:12.753 回答