Unity 2d平台游戏。我的代码有问题

问题描述 投票:0回答:1

我试图使代码,使立方体(这是一个2D对象)跳跃,如果它在地面上,这里的代码u知道如何我试过其他方法,但他们没有工作。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class playercontroler : MonoBehaviour
{
    public int thrust = 5;
    public bool OnGround;
    Rigidbody2D Rigidbody;
    public float Speed = 7;

    void Start()
    {
        Rigidbody = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        if (Input.GetKey(KeyCode.D))
        {
            this.transform.position += Vector3.right * Speed * Time.deltaTime;
        }

        if (Input.GetKey(KeyCode.A))
        {
            this.transform.position += Vector3.left * Speed * Time.deltaTime;
        }

        if (Input.GetKeyDown(KeyCode.Space))
        {
            Rigidbody.velocity = transform.up * thrust;
        }
    }

}
unity3d
1个回答
0
投票

如果你打了空格,添加这行跳跃。

Rigidbody.AddForce(new Vector3(0, 50, 0), ForceMode.Impulse);


0
投票

供你参考,我用这行代码。

Rigidbody.AddForce(transform.up * yourValue)。

© www.soinside.com 2019 - 2024. All rights reserved.