完成攀爬状态-粗略

This commit is contained in:
Ziyu
2025-06-16 14:44:47 +08:00
parent 45367bed41
commit 7e7ad40ef9
15 changed files with 153 additions and 2 deletions
@@ -44,6 +44,7 @@ public:
void addAnimation(std::unique_ptr<engine::render::Animation> animation); ///< @brief 向 animations_ map容器中添加一个动画。
void playAnimation(const std::string& name); ///< @brief 播放指定名称的动画。
void stopAnimation() { is_playing_ = false; } ///< @brief 停止当前动画播放。
void resumeAnimation() {is_playing_ = true; } ///< @brief 恢复当前动画播放。
// --- Getters and Setters ---
std::string getCurrentAnimationName() const;
+4
View File
@@ -33,6 +33,7 @@ private:
bool collided_above_ = false;
bool collided_left_ = false;
bool collided_right_ = false;
bool collided_ladder_ = false;
public:
/**
@@ -74,17 +75,20 @@ public:
collided_above_ = false;
collided_left_ = false;
collided_right_ = false;
collided_ladder_ = false;
}
void setCollidedBelow(bool collided) { collided_below_ = collided; } ///< @brief 设置下方碰撞标志
void setCollidedAbove(bool collided) { collided_above_ = collided; } ///< @brief 设置上方碰撞标志
void setCollidedLeft(bool collided) { collided_left_ = collided; } ///< @brief 设置左方碰撞标志
void setCollidedRight(bool collided) { collided_right_ = collided; } ///< @brief 设置右方碰撞标志
void setCollidedLadder(bool collided) { collided_ladder_ = collided; } ///< @brief 设置梯子碰撞标志
bool hasCollidedBelow() const { return collided_below_; } ///< @brief 检查是否与下方发生碰撞
bool hasCollidedAbove() const { return collided_above_; } ///< @brief 检查是否与上方发生碰撞
bool hasCollidedLeft() const { return collided_left_; } ///< @brief 检查是否与左方发生碰撞
bool hasCollidedRight() const { return collided_right_; } ///< @brief 检查是否与右方发生碰撞
bool hasCollidedLadder() const { return collided_ladder_; } ///< @brief 检查是否与梯子发生碰撞
private:
// 核心循环方法
@@ -32,6 +32,7 @@ enum class TileType {
SLOPE_1_2, ///< @brief 斜坡瓦片,高度:左1 右1/2
SLOPE_2_0, ///< @brief 斜坡瓦片,高度:左1/2右0
HAZARD, ///< @brief 危险瓦片(例如火焰、尖刺等)
LADDER, ///< @brief 梯子瓦片
// 未来补充其它类型
};