繁体   English   中英

按下按钮时跳转(unity 2D)

[英]Jump when pressing a button (unity 2D)

我正在制作我的第一个手机游戏,但我不知道如何在按下玩家跳跃的按钮时制作一个按钮。 这是我的代码:

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);
        }
    }
}

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

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

2)在您的“Move2D”class 中创建一个公共“Jump()”function

3) 在 Canvas UI 中的按钮事件上分配此公共“Jump()”function

public class Move2D : MonoBehaviour
{
    public void Jump()
    {
        rigidBody.AddForce(transform.up * jumpSpeed, ForceMode2D.Impulse);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM