Unity 黑魂风格游戏:玩家控制代码示例

本文提供一个简单的 Unity 玩家控制代码示例,实现移动、跳跃和动画功能,适用于制作黑魂风格的游戏。

public class PlayerController : MonoBehaviour
{
    public float moveSpeed = 5f;
    public float jumpForce = 10f;
    private Rigidbody2D rb;
    private Animator animator;
    private bool isGrounded = false;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        animator = GetComponent<Animator>();
    }

    void Update()
    {
        // 移动
        float move = Input.GetAxis("Horizontal");
        rb.velocity = new Vector2(move * moveSpeed, rb.velocity.y);

        // 跳跃
        if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
        {
            rb.AddForce(new Vector2(0f, jumpForce), ForceMode2D.Impulse);
            isGrounded = false;
            animator.SetTrigger("Jump");
        }

        // 动画
        animator.SetFloat("Speed", Mathf.Abs(move));
        animator.SetBool("Grounded", isGrounded);
    }

    void OnCollisionEnter2D(Collision2D coll)
    {
        // 碰到地面时设置 isGrounded 为 true
        if (coll.gameObject.CompareTag("Ground"))
        {
            isGrounded = true;
        }
    }
}

以上代码包括了移动、跳跃和动画三个方面的实现,其中动画需要用到 Animator 组件。在碰到地面时,会设置 isGrounded 为 true,确保玩家能够跳跃。需要注意的是,此代码并不完整,需要根据具体需求进行修改和扩展。


原文地址: https://www.cveoy.top/t/topic/mBUU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录