为什么我的Game类中不存在GraphicsHeight?

时间:2011-08-13 20:22:56

标签: c# xna

我真的需要帮助,请耐心等待。

好吧,所以我最近开始研究我的第一款游戏,非常基本。

我决定创建一个GameObject课程。这将包含我其他类的基础知识(例如:Player, Enemies)。

所以,这是GameObject类的当前代码:

abstract class GameObject
{
    GraphicsDevice gr;
    Vector2 position;
    Texture2D texture;
    public GameObject(Vector2 Position, Texture2D Texture)
    {
        this.position = Vector2.Zero;
        this.texture = Texture;
    }
    public Vector2 Position { set; get; }
    public Texture2D Texture { set; get; }
    public float X
    {
        set { position.X = value; }
        get { return position.X; }
    }
    public float Y
    {
        set
        {
            position.Y = value;
        }
        get
        {
            return position.Y;
        }
    }
    public int GraphicsWidth { set; get; }
    public int GraphicsHeight { set; get; }
}

好的,所以我想设置主类(Game1.cs)中的GraphicsWidthGraphicsHeight变量,所以在Initialize方法中我做了这个:

GraphicsHeight = graphics.PreferredBackBufferHeight;
GraphicsWidth = graphics.PreferredBackBufferWidth;

但它说当前上下文中不存在GraphicsHeight

我知道我错过了什么,但我不知道是什么。

顺便说一下,我的GameObject课程有什么问题或者我能做得更好吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

你必须有另一个具体的类继承你的摘要GameObject。例如:

public class Player : GameObject 
{
    /*  methods properties specific to player  */
}

实例化后,您将能够设置这些属性:

Player.GraphicsHeight = graphics.PreferredBackBufferHeight;
Player.GraphicsWidth = graphics.PreferredBackBufferWidth;