我写博客喜欢做完一个东西,一口气写很多章。。。貌似这样不太好啊~
到这里,我们似乎该让主角上场了,好就让我们来显示一颗子弹吧~
慢着,显示子弹之前,我们需要小小的抽象一下,把游戏中所有能显示的物体抽象成GameObject,好处是什么?好处是看起来很帅。。
当然不是,好处简单来说,整合公共部分、利于管理~~好吧我也不知道好处。。。。
/// <summary>
/// Description of GameObject.
/// </summary>
public class GameObject
{
public Vector2 Position;
public Box BoxCollider;
protected int Width;
protected int Height;
protected int HalfWidth;
protected int HalfHeight;
public GameObject()
{
}
public virtual void Update(float elapsedTime)
{
}
public virtual void Render(Graphics g)
{
}
}
封装了一些基础属性和方法~~特别说明下:HalfWidth和HalfHeight只是用于计算的时候少一个除法,可以不需要的,后面的代码会看到
对了,特别说明下:一般的坐标系是以左上角为(0,0)点,向右为X正方向,向下为Y正方向。
而这个游戏是以屏幕的中间为远点,绘制图片的时候也是,以图片的中间为绘制点。。。至于为什么这样。。我当时脑抽了,忘了为什么了
接下来就是主角
/// <summary>
/// Description of GameBullet.
/// </summary>
public class GameBullet : GameObject
{
public bool IsOwn; // 是否为自己的子弹
public int Type; // 子弹样式
public int Color; // 子弹颜色(0-6ÿ