在另一个班级检查Bool

Checking a Bool in a different class

本文关键字:检查 Bool 另一个      更新时间:2023-10-16

我确信这是一个简单的解决方案,但我似乎找不到解决问题的直接答案。

因此,在文件GameScreenLevel1.ccp中,我有一个类似这样的bool:

bool GameScreenLevel1::LevelComplete()
{
    if(mEnemies.empty() && mFruit.empty())
    {
        return true;
    }
    return false;
}

在文件GameScreenManager.ccp的更新函数中,我试图调用它,看看它是否为真。

if(GameScreenLevel1.LevelComplete() == true)
    {
        ChangeScreen(SCREEN_LEVEL2);
    }

我知道我不能使用(GameScreenLevel1::LevelComplete() == true),因为布尔是非静态的,所以我想知道如何从不同的类引用这个布尔。

感谢您的阅读和回答!

我不确定问题是什么,但是,如果您只是试图检查LevelComplete()的返回,那么您所写的内容几乎没有问题。它可以浓缩成类似于:

bool GameScreenLevel1::LevelComplete()
{
    return (mEnemies.empty() && mFruit.empty());
}

然后在你的Gamescreenmanager.cpp中,你可以做这样的事情:

GameScreenLevel1 GameScreenLevel1_(/*constructors*/);
/*extra stuff */
if(GameScreenLevel1_.LevelComplete()) {
    /* Code here */
}