按下按钮时跳转(统一2D)。

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

我正在做我的第一个手机游戏,但我不知道如何能使一个按钮,当按下它时,玩家跳跃。这是我的代码。

using UnityEngine;
using System.Collections;
using UnityStandardAssets.CrossPlatformInput;
public class Move2D : MonoBehaviour
{
    public float speed = 5f;
    public float jumpSpeed = 8f;
    private float movement = 0f;
    private Rigidbody2D rigidBody;

    // Use this for initialization
    void Start()
    {
        rigidBody = GetComponent<Rigidbody2D>();


    }

    // Update is called once per frame
    void Update()
    {
        movement = CrossPlatformInputManager.GetAxis("Horizontal");
        rigidBody.velocity = new Vector2(movement * speed, rigidBody.velocity.y);

        if (CrossPlatformInputManager.GetButtonDown("Jump") && rigidBody.velocity.y == 0)

        {
            rigidBody.AddForce(transform.up * jumpSpeed, ForceMode2D.Impulse);
        }
    }
}
c# unity3d
1个回答
0
投票

很简单,这应该是最简单的方法。

1)在Canvas UI中创建一个按钮

2) 在你的 "Move2D "类中创建一个公共的 "Jump() "函数。

3) 在Canvas UI中的按钮事件上指定这个公共 "Jump() "函数。

public class Move2D : MonoBehaviour
{
    public void Jump()
    {
        rigidBody.AddForce(transform.up * jumpSpeed, ForceMode2D.Impulse);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.