我正在制作一个2D坦克射击游戏,但我有一些问题和问题:
这里有个问题。去处理坦克碰撞问题。 (我不能张贴超过2个链接,因为声誉很低,所以你将不得不去图片手动,对不起。)
我需要让我的坦克不像上面所示。我用刚体在空的母体上,箱对撞机在罐体上。
我的检验员的“坦克(根)”和检验员的"tankBody“(船体)是这里。。
坦克移动代码:
using UnityEngine;
using System.Collections;
public class Movement : MonoBehaviour {
public float thrust;
public float rotatingspeed;
public Rigidbody rb;
void Start () {
rb = GetComponent<Rigidbody>();
}
void Update () {
if (Input.GetKey (KeyCode.W)) {
transform.Translate (Vector2.right * thrust);
}
if (Input.GetKey (KeyCode.S)) {
transform.Translate (Vector2.right * -thrust);
}
if(Input.GetKey(KeyCode.A)) {
transform.Rotate(Vector3.forward, rotatingspeed);
}
if(Input.GetKey(KeyCode.D)) {
transform.Rotate(Vector3.forward, -rotatingspeed);
}
}}
发布于 2015-07-02 18:30:52
我设法解决了我的两个问题。为了解决第一个问题,我用了加力。我的新的移动刀和后背看起来如下:
if (Input.GetKey (MoveForward)) {
//transform.Translate (Vector2.right * thrust); OLD !!
rb2D.AddForce(transform.right * thrust * Time.deltaTime);
}
if (Input.GetKey (MoveBackward)) {
//transform.Translate (Vector2.right * -thrust); OLD !!
rb2D.AddForce(transform.right * -thrust * Time.deltaTime);我不得不把我的质量调整为小一点(从2000年到1),推力变大(从0.2到50000),把阻力设置为50,角度阻力为100。
第二个问题是通过将阻力和角阻力设置为一个较大的值来解决的。就这样!
https://stackoverflow.com/questions/31180020
复制相似问题