小编Log*_*211的帖子

C#成员变量继承

我对C#有点新,但我在编程方面有相当广泛的背景.

我正在尝试做什么:为游戏定义不同的MapTiles.我已经像这样定义了基本的MapTile类:

public class MapTile
{
    public Texture2D texture;
    public Rectangle mapRectangle;

    public MapTile(Rectangle rectangle)
    {
        this.mapRectangle = rectangle;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我定义一个子类GrassTile,如下所示:

class GrassTile : MapTile
{
    new Texture2D texture = Main.GrassTileTexture;
    new public Rectangle mapRectangle;

    public GrassTile(Rectangle rectangle) : base(rectangle)
    {
        this.mapRectangle = rectangle;
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的Main类中,我正在创建一个像这样的新maptile:

Maptile testTile;
testTile = new GrassTile(new Rectangle(0, 0, 50, 50);
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试渲染此testTile时,其纹理最终为null.如果我在MapTile中定义纹理,我的代码工作正常,所以它与我以前的实现无关.

那么我怎样才能让GrassTile能够修改MapTile的成员变量纹理呢?或者让我的主类识别GrassTile的纹理,而不是MapTile,我也搞乱了接口,但我不能声明接口成员变量.我还没有得到C#继承的其他内容吗?

提前致谢

c# variables inheritance member-variables

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

inheritance ×1

member-variables ×1

variables ×1