unity3d Unity显示“错误CS1022:应为类型或命名空间定义或文件结尾

sauutmhj  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(737)

我正在使用Unity制作一个基于教程的跨棋盘游戏。当我添加一个跳跃动画时会出现这个问题。我所有的代码都来自那个教程,除了一个值之外没有做任何更改。
我知道哪一行代码是错误的,但我不知道为什么,我不知道如何修复它。

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

public class Playermovement : MonoBehaviour
{
  private Rigidbody2D rb;
    public float jumpAmount = 1;

    bool isGrounded;
    public Transform groundCheck;
    public LayerMask groundlayer;
    public Animator anim;
    public float overlap = 0.5f;
   

    void Start()
    {

        rb = gameObject.GetComponent<Rigidbody2D>();
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            if (isGrounded)
            {
                Jump();
            }
        }
    }

    private void FixedUpdate()
    {
        isGrounded = Physics2D.OverlapCircle(groundCheck.position, overlap, groundlayer);
    }

    void Jump()
    {
        rb.AddForce(Vector2.up *5* jumpAmount, ForceMode2D.Impulse);
    }

    if(isGrounded)
        {
            anim.SetBool("Jump",false);
        }
        else
        {
            anim.SetBool("Jump", true);
        }
}

有人知道这是什么问题吗?提前感谢那些回答的人!
资源\脚本\玩家动作.cs(52,1):错误CS1022:应为类型或命名空间定义或文件结尾
这是我收到的错误信息。我知道它告诉我错误发生在第52行(也就是最后一行)的第一个字符上,但除此之外我什么都不知道,因为该行只有一个花括号。

z0qdvdin

z0qdvdin1#

问题出在if (isGrounded)语句上。if/else语句需要在method/function中,没有method/function就无法工作。

相关问题