Unity,我脚本中的 bool 变量没有改变

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

我有课

PlayerController

public class PlayerController : MonoBehaviour
{
    bool isMoveable;

    public void Init()
    {
        isMoveable = false;
    }
    void Update()
    {
        ...
    }

    private void FixedUpdate()
    {
        if (isMoveable)
        {
            MovePlayer();
        }
    }

    public void EnableMovement()
    {
        isMoveable = true;
    }

    void MovePlayer()
    {
    }
}

我有课

GameMaster

public the class GameMaster : MonoBehaviour
{
    PlayerController playerController;

    private void Start()
    {
        playerController.Init();
    }

    public void StartGame()
    {
        playerController.EnableMovement();
        uiManager.OnGameStarted();
    }
}

我正在尝试通过单击激活

StartGame()
的按钮来开始游戏。但是
MovePlayer()
从来没有被调用过,但是如果我在 EnableMovement 中打印
Debug.Log(isMoveable)
,我得到
True
.

我试图通过 int 和 enum 改变

isMoveable
,但这没有帮助。

c# unity3d game-development
© www.soinside.com 2019 - 2024. All rights reserved.