与朋友一起玩游戏:菜单系统与网络连接的实现
1. 更优的菜单系统
在游戏开发中,从基础的文本支持过渡到更高级的用户界面系统是必要的。当前仅能通过 TextBlock 对象显示文本,在切换得分显示和游戏结束消息时,需要逐个添加和移除文本块,且要单独存储其状态,操作较为繁琐。为解决这一问题,我们将创建一个菜单对象,用于存储菜单状态,方便构建和更改菜单。
该系统包含三个类: Menu 、 ControlBase 和 TextBlock ,分别定义在 Menu.h 、 ControlBase.h 和 TextBlock.h 中。
ControlBase 是一个抽象类,其定义如下:
enum class FocusState
{
Unfocused,
Focused
};
class ControlBase abstract
{
protected:
bool _isVisible;
DirectX::XMFLOAT2 _pos;
Placement _placement;
bool _canFocus;
public:
virtual void Draw(std::shared_ptr<SpriteBatch> spriteBatch, FocusState focused) = 0;
virtual void HandleClick
超级会员免费看
订阅专栏 解锁全文
1652

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



