构建交互式按钮
文章目录
- 构建交互式按钮
-
- 1、回顾UI组件
- 2、创建按钮类
- 3、鼠标悬停事件
- 4、处理点击事件
- 5、创建派生按钮
- 6、扩展功能
-
- 6.1 禁用和启用按钮
- 6.2 鼠标悬停反应
- 7、总结
在本文中,将探索构建响应用户输入的UI组件的技术。
在本文中,我们将学习如何使用SDL在C++中构建交互式UI组件,我们将探讨如何创建响应用户输入的动态按钮。
文章将涵盖诸如事件处理、创建自定义按钮类以及实现悬停和点击行为等主题。
1、回顾UI组件
本节的主题基于我们之前的工作,特别是上一篇文章中我们设置的UI架构。
我们的main.cpp如下所示,其中我们实现了一个标准的事件循环。为了本课的目的,需要注意的关键是我们有一个名为GameUI的UI对象。
这个对象通过HandleEvent()方法接收所有事件,并在每一帧被要求将内容渲染到窗口表面:
#include <SDL2/SDL.h>
#include "UI.h"
class Window {
public:
Window(){
SDLWindow = SDL_CreateWindow(
"My Program", SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED, 200, 200, 0);
}
void Render(){
SDL_FillRect(GetSurface(), nullptr