Extra2D/examples/flappy_bird/pipe.h

60 lines
1.3 KiB
C
Raw Normal View History

// ============================================================================
// Pipe.h - 水管类
// 描述: 游戏中的障碍物,由上下两根水管组成
// ============================================================================
#pragma once
#include <extra2d/extra2d.h>
namespace flappybird {
/**
* @brief
*
*/
class Pipe : public extra2d::Node {
public:
/**
* @brief
*/
Pipe();
/**
* @brief
*/
~Pipe();
/**
* @brief
*/
void onEnter() override;
/**
* @brief
* @return
*/
extra2d::Rect getBoundingBox() const override;
/**
* @brief
* @return
*/
extra2d::Rect getTopPipeBox() const;
/**
* @brief
* @return
*/
extra2d::Rect getBottomPipeBox() const;
bool scored = false; // 是否已计分
private:
extra2d::Ptr<extra2d::Sprite> topPipe_; // 上水管
extra2d::Ptr<extra2d::Sprite> bottomPipe_; // 下水管
float gapHeight_ = 120.0f; // 间隙高度
};
} // namespace flappybird