【发布时间】:2012-01-31 23:46:00
【问题描述】:
public Block[,] Layer2ID;
Layer2ID[X, Y].Draw(spriteBatch, new Vector2(X * 32, Y * 32)); //Child of Block, let's call it Wall
Layer2ID 填充了 Block 的子数组,但属于 Block 类型,因此,当我调用绘图函数时,它使用 Block 的绘图函数而不是孩子的绘图函数。为什么会这样,我该如何解决?
谢谢。
【问题讨论】:
-
听起来您分别在基类/子类方法上缺少虚拟/覆盖修饰符。
-
我从未听说过这些 * 研究 * 啊哈,谢谢!
-
通常,当您的类实现覆盖另一个没有
override关键字的方法时,您会收到一个编译器警告,该方法或属性对基类隐藏了相同的方法或属性。请务必检查您的编译器警告以获取此信息。