我真的需要帮助,请耐心等待。
好吧,所以我最近开始研究我的第一款游戏,非常基本。
我决定创建一个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)中的GraphicsWidth
和GraphicsHeight
变量,所以在Initialize
方法中我做了这个:
GraphicsHeight = graphics.PreferredBackBufferHeight;
GraphicsWidth = graphics.PreferredBackBufferWidth;
但它说当前上下文中不存在GraphicsHeight
。
我知道我错过了什么,但我不知道是什么。
顺便说一下,我的GameObject
课程有什么问题或者我能做得更好吗?
非常感谢。
答案 0 :(得分:0)
你必须有另一个具体的类继承你的摘要GameObject
。例如:
public class Player : GameObject
{
/* methods properties specific to player */
}
实例化后,您将能够设置这些属性:
Player.GraphicsHeight = graphics.PreferredBackBufferHeight;
Player.GraphicsWidth = graphics.PreferredBackBufferWidth;