Extra2D/examples/push_box/StartScene.h

69 lines
1.3 KiB
C
Raw Normal View History

// ============================================================================
// StartScene.h - Push Box 开始场景
// ============================================================================
2026-02-11 19:40:26 +08:00
#pragma once
#include "BaseScene.h"
2026-02-11 19:40:26 +08:00
#include <extra2d/extra2d.h>
namespace pushbox {
/**
* @brief Push Box
*/
class StartScene : public BaseScene {
2026-02-11 19:40:26 +08:00
public:
/**
* @brief
*/
2026-02-11 19:40:26 +08:00
StartScene();
/**
* @brief
*/
2026-02-11 19:40:26 +08:00
void onEnter() override;
/**
* @brief
* @param dt
*/
2026-02-11 19:40:26 +08:00
void onUpdate(float dt) override;
private:
/**
* @brief
*/
2026-02-11 19:40:26 +08:00
void updateMenuColors();
/**
* @brief
*/
2026-02-11 19:40:26 +08:00
void executeMenuItem();
/**
* @brief
*/
2026-02-11 19:40:26 +08:00
void startNewGame();
/**
* @brief
*/
2026-02-11 19:40:26 +08:00
void continueGame();
/**
* @brief 退
*/
2026-02-11 19:40:26 +08:00
void exitGame();
extra2d::Ptr<extra2d::FontAtlas> font_;
extra2d::Ptr<extra2d::Button> startBtn_;
extra2d::Ptr<extra2d::Button> resumeBtn_;
extra2d::Ptr<extra2d::Button> exitBtn_;
extra2d::Ptr<extra2d::Button> soundBtn_;
2026-02-11 19:40:26 +08:00
int selectedIndex_ = 0;
int menuCount_ = 3;
};
} // namespace pushbox