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

本文关键字:不存在 GraphicsHeight 我的 Game 为什么 | 更新日期: 2023-09-27 18:05:36

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

好吧,我最近开始制作我的第一款游戏,非常基础。

我决定创建一个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类?

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

您必须有另一个具体的类继承您的抽象GameObject。例如:

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

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

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