#ifndef SHAPE_H
#define SHAPE_H
#include <SDL2/SDL.h>
#include <string>
extern bool m_loadingTexture; //是否正在加载纹理
class Shape {
private:
std::string m_imgpath; //造型的图片路径 (反斜杠要变成正斜杠存储)
int width; // 造型宽度
int height; // 造型高度
SDL_Texture* raw_texture; // 造型的原始纹理
SDL_Surface* raw_surface; //造型的原始表面
public:
// 1. 添加默认构造函数
Shape() ;
// 2. 带图片路径的构造函数
Shape(std::string imgpath);
// 2. 带surface的构造函数
Shape(SDL_Surface *sur);
// 3. 拷贝构造函数
Shape(const Shape *other);
// 4. 析构函数
~Shape();
// 加载纹理(需要渲染器)
bool loadTexture(SDL_Renderer* renderer);
// 获取纹理
SDL_Texture* getTexture() const;
// 获取表面
SDL_Surface* getSurface() const;
std::string imgpath() const; //获取造型的图片路径
// 获取宽度
int getWidth() const;
// 获取高度
int getHeight() const;
};
#endif // SHAPE_H
-
- 2026 年 3 月
- 2026 年 2 月
- 2026 年 1 月
- 2025 年 12 月
- 2025 年 11 月
- 2025 年 10 月
- 2025 年 9 月
- 2025 年 6 月
- 2025 年 5 月
- 2025 年 3 月
- 2025 年 2 月
- 2025 年 1 月
- 2024 年 12 月
- 2024 年 8 月
- 2024 年 6 月
- 2024 年 5 月
- 2024 年 4 月
- 2024 年 3 月
- 2024 年 2 月
- 2023 年 11 月
- 2023 年 9 月
- 2023 年 6 月
- 2023 年 5 月
- 2023 年 4 月
- 2023 年 3 月
- 2023 年 2 月
- 2023 年 1 月
- 2022 年 12 月
- 2022 年 11 月
- 2022 年 10 月
- 2022 年 9 月
- 2022 年 8 月
- 2022 年 7 月
- 2022 年 6 月
- 2022 年 5 月
- 2022 年 4 月
- 2022 年 3 月
- 2022 年 2 月
- 2022 年 1 月
- 2021 年 12 月
- 2021 年 11 月
- 2021 年 10 月
- 2021 年 9 月
- 2021 年 8 月
- 2021 年 7 月
- 2021 年 6 月
- 2021 年 5 月
- 2021 年 4 月
- 2021 年 3 月
- 2021 年 2 月
- 2021 年 1 月
- 2020 年 12 月
- 2020 年 11 月
- 2020 年 10 月
- 2020 年 9 月
- 2020 年 8 月
- 2020 年 7 月
- 2020 年 6 月
- 2020 年 5 月
- 2020 年 4 月
- 2020 年 3 月
- 2020 年 2 月
- 2020 年 1 月
- 2019 年 12 月
- 2019 年 11 月
- 2019 年 10 月
- 2019 年 9 月
- 2019 年 8 月
- 2019 年 7 月
- 2019 年 6 月
- 2019 年 5 月
- 2019 年 4 月
- 2019 年 3 月
- 2019 年 2 月
- 2018 年 3 月
- 2018 年 1 月
- 2017 年 9 月
- 2017 年 5 月
- 2017 年 1 月
