如何在另一个类中使用一个类的公共bool?c#

本文关键字:一个 bool 另一个 | 更新日期: 2023-09-27 18:26:01

我正试图在类Health中使用来自类Level的bool,但我无法使其工作。我知道这可能真的很琐碎,但现在我陷入了困境。。

以下是从类级别升级健康的方法:

public bool UpHealth()
{
    SpriteGameObject healthpack = this.Find("uphealth") as SpriteGameObject;
    Player player = this.Find("player") as Player;
    if (healthpack.CollidesWith(player))
        return true;
    return false;
}

这是Health类中我想使用bool Uphealth:的方法

public override void Update(GameTime gameTime)
{
    base.Update(gameTime);
    Player player = GameWorld.Find("player") as Player;
    AnimatedGameObject rocket = GameWorld.Find("rocket") as AnimatedGameObject;
    foreach (GameObject obj in gameObjects)
    {
        SpriteGameObject h = obj as SpriteGameObject;
        if ( <---I DON'T KNOW WHAT TO TYPE HERE---> )
        {
            this.Add(h);
            return;
        }
    }
}

我希望它是当Uphealth是真的,它执行这个。添加(h);

我需要做什么才能在健康课上使用Uphealth?

如何在另一个类中使用一个类的公共bool?c#

首先,创建类"Level"的实例。最好的方法可能是在类声明中(使其成为成员)。

Level level;

在那之后,只要确保它的存在。

level = new Level(); // <------ I would probably put this in "LoadContent()"

最后,您可以将其用作

if (level.UpHealth())
{
    // Do really cool stuff here
}  

我希望我能帮上忙。