【发布时间】:2014-10-23 10:36:13
【问题描述】:
我有以下代码:
public class CurrentPlayer(override val game: PewGame, spriteSheet: String) : Player(game, spriteSheet)
层次结构如下: CurrentPlayer -> class Player -> trait MovingEntity -> trait Entity。
特征“Entity”有一个字段“val game: PewGame”。 Player 的构造函数如下所示:
public open class Player(override val game: PewGame, spriteSheet: String) : MovingEntity, InputAdapter()
在 Player 的构造函数中,如果你可以在 kotlin 中调用它,我有这个:
this.sprite = CharacterSpriteSheet(Utilities.createTextureFromFile(spriteSheet), this.game.getSpriteBatch(), 0.25f)
问题是,“this.game”为空,因此“this.game.getSpriteBatch()”会抛出 NPE。我无法以更好的方式解释这一点,因此感谢您提供任何帮助。更准确地说,在使用调试器之后:
我可以在 Player 类中看到 game 和 this。 game 不为空,但this.game 为空,因为某些莫名其妙的原因。
感谢您的帮助!
编辑:我忘了提到这个问题只在我实例化 CurrentPlayer 时出现,而在我实例化 Player 时不会发生。
【问题讨论】:
-
你能粘贴你所有的代码,包括父类
标签: kotlin