我写博客喜欢做完一个东西,一口气写很多章。。。貌似这样不太好啊~
到这里,我们似乎该让主角上场了,好就让我们来显示一颗子弹吧~
慢着,显示子弹之前,我们需要小小的抽象一下,把游戏中所有能显示的物体抽象成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 GameB

本文介绍了如何在C#中实现弹幕类射击游戏的子弹功能。首先,将游戏中可显示的物体抽象为GameObject类,以便统一管理。接着,详细讲述了子弹的实现,包括以游戏中心为坐标原点,使用速度和加速度更新子弹位置,以及通过碰撞检测触发爆炸效果。最后,提出了子弹管理类的设计,用于存储和管理多个子弹实例,支持不同飞行轨迹和速度的子弹创建。
最低0.47元/天 解锁文章
714

被折叠的 条评论
为什么被折叠?



