ShitEngine
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
载入中...
搜索中...
未找到
SpriteRenderer类 参考

精灵组件 更多...

#include <SpriteRenderer.h>

类 SpriteRenderer 继承关系图:
RendererComponent Component

Public 成员函数

 SpriteRenderer ()=default
 ~SpriteRenderer () override=default
void onRender (SDL_Renderer *renderer, const CameraComponent *camera) const override
 纯虚:子类实现绘制逻辑
void setTexturePath (const std::string &texturePath)
const std::string & getTexturePath () const
void setSourceRect (const std::optional< SDL_FRect > &sourceRect)
const std::optional< SDL_FRect > & getSourceRect () const
void setFlipped (bool flipped)
bool isFlipped () const
SDL_FRect getGlobalBounds () override
 世界坐标下的轴对齐包围盒
Public 成员函数 继承自 RendererComponent
 RendererComponent ()
 ~RendererComponent () override=default
void onAttach () override
void onDetach () override
void onDestroy () override
int getZIndex () const
 渲染层级,值越大越靠上
bool isVisible () const
 是否可见
void setZIndex (int zIndex)
void setVisible (bool isVisible)
Public 成员函数 继承自 Component
 Component ()
virtual ~Component ()=default
virtual void onCreate ()
 Component (const Component &)=delete
Componentoperator= (const Component &)=delete
 Component (Component &&)=delete
Componentoperator= (Component &&)=delete
GameObjectgetOwner () const
bool isRegistered () const

友元

class GameObject

额外继承的成员函数

Protected 属性 继承自 RendererComponent
int m_zIndex = 0
 渲染顺序(值越大越靠上)
bool m_isVisible = true
 是否参与渲染
Protected 属性 继承自 Component
GameObjectm_owner = nullptr
bool m_isRegistered = false

详细描述

精灵组件

内部持有 Sprite 对象描述"画什么"。 整图渲染时 sourceRect 留空;用于 sprite-sheet 逐帧动画时, 由 AnimationComponent 把当前帧的 SDL_FRect 写回 setSourceRect。

构造及析构函数说明

◆ SpriteRenderer()

SpriteRenderer ( )
default

◆ ~SpriteRenderer()

~SpriteRenderer ( )
overridedefault

成员函数说明

◆ getGlobalBounds()

SDL_FRect getGlobalBounds ( )
overridevirtual

世界坐标下的轴对齐包围盒

实现了 RendererComponent.

◆ getSourceRect()

const std::optional< SDL_FRect > & getSourceRect ( ) const
inline

◆ getTexturePath()

const std::string & getTexturePath ( ) const
inline

◆ isFlipped()

bool isFlipped ( ) const
inline

◆ onRender()

void onRender ( SDL_Renderer * renderer,
const CameraComponent * camera ) const
overridevirtual

纯虚:子类实现绘制逻辑

实现了 RendererComponent.

◆ setFlipped()

void setFlipped ( bool flipped)
inline

◆ setSourceRect()

void setSourceRect ( const std::optional< SDL_FRect > & sourceRect)
inline

◆ setTexturePath()

void setTexturePath ( const std::string & texturePath)

◆ GameObject

friend class GameObject
friend

该类的文档由以下文件生成: