【发布时间】:2026-02-20 09:25:04
【问题描述】:
所以我尝试在 Health 类的 Level 中使用布尔方法 UpHealth。然而,Level 类的构造函数具有参数 levelIndex。我不知道在 Health 类的 new Level 之后的参数点上写什么。这是关卡类:
partial class Level : GameObjectList
{
protected bool upHealth;
public Level(int levelIndex)
{
//Stuff
}
public bool UpHealth()
{
upHealth = false;
SpriteGameObject healthpack = this.Find("uphealth") as SpriteGameObject;
Player player = this.Find("player") as Player;
if (healthpack.CollidesWith(player))
return true;
return false;
}
这是健康类:
class Health : GameObjectList
{
Level level;
public Health(int layer = 3, string id = "") : base(layer, id)
{
//Stuff
level = new Level( <--WHAT DO I WRITE HERE?--> );
}
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 (level.UpHealth())
{
this.Add(h);
return;
}
}
}
这可能很容易解决,但我不知道该怎么做。
【问题讨论】:
-
A levelIndex 作为 int 值?任意数?取决于你想要放什么。
-
想想
levelIndex对于Level构造函数的用法和意义,并传递一个Level类期望的整数值。或者你可以为 levelIndex 提供一个默认值,就像你为层layer=3所做的那样,那么你不需要将任何值传递给Level构造函数。
标签: c# class parameters xna