2011-08-13 25 views
1

我真的需要幫助,所以請耐心等待。爲什麼GraphicsHeight不存在於我的Game類中?

好吧,所以我最近開始在我的第一個遊戲上工作,非常基本。

我決定創建一個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; } 
} 

OK,所以我想設置爲從主類(Game1.cs)的GraphicsWidthGraphicsHeight變量,所以在Initialize方法我已經做到了這一點:

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

但它說GraphicsHeight在當前的情況下不存在。

我知道我錯過了一些東西,但我不知道是什麼。

順便說一句,有沒有什麼不對或者我可以用我的GameObject做得更好?

非常感謝。

回答

0

你必須有另一個具體類繼承你的抽象GameObject。例如:

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

實例化後,您將可以設置這些屬性:

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

@labstract我在哪裏,在把這些屬性集? – Joey

+0

你能回答嗎?我不知道如何拼寫你的名字 – Joey

+2

在深入研究這樣的項目之前,你應該更熟悉C#。 – Sean

相關問題