easyx_framework V1.0.0
基于easyx的c++游戏框架
 
载入中...
搜索中...
未找到
SpriteRenderer类 参考

渲染组件(2D). 更多...

#include <SpriteRenderer.h>

类 SpriteRenderer 继承关系图:
SceneComponent LayerInterface ImageInterface Component base

Public 成员函数

 ~SpriteRenderer ()
 
void BeginPlay ()
 设置纯虚函数,把不能写在构造却需要优先实现的写在这.
 
virtual void Render () override
 渲染图片到句柄上.
 
virtual void Update (float deltaTime) override
 执行支持的旋转滤镜等功能
 
- Public 成员函数 继承自 SceneComponent
void AttachTo (SceneComponent *par)
 设置所属组件
 
void DetachForm (SceneComponent *par)
 解除所属组件.
 
virtual void Destruct ()
 解除场景组件绑定并销毁
 
virtual void EndPlay () override
 把一些不能写在析构函数的一些操作写在这里
 
Vector2D GetLocalPosition () const
 获取相对坐标
 
float GetLocalRotation () const
 获取相对角度
 
Vector2D GetLocalScale () const
 获取相对缩放大小
 
Vector2D GetWorldPosition () const
 获取场景组件的世界坐标
 
float GetWorldRotation () const
 获取场景组件的世界旋转角度
 
Vector2D GetWorldScale () const
 获取场景组件的世界的缩放大小
 
void SetLocalPosition (const Vector2D &pos)
 设置相对坐标
 
void SetLocalRotation (float rot)
 设置相对角度
 
void SetLocalScale (const Vector2D &scale)
 设置相对缩放大小
 
void AddPosition (const Vector2D &pos)
 加上一个坐标
 
void AddRotation (float rot)
 加上一个角度
 
- Public 成员函数 继承自 Component
void SetOwner (class Object *owner)
 设置绑定对象.
 
virtual void Activate ()
 激活组件
 
virtual void Deactivate ()
 停用组件
 
ObjectGetOwner () const
 获取绑定对象指针
 
- Public 成员函数 继承自 base
 base ()
 
virtual ~base ()
 
std::string GetName () const
 
void SetName (const std::string &name)
 
- Public 成员函数 继承自 LayerInterface
 LayerInterface ()
 构造图层顺序接口
 
 ~LayerInterface ()
 析构图层顺序接口,从world图层顺序容器中删去这个类
 
void SetLayer (int _layer)
 设置图层层级 要实现必须先把排好序的容器中删除已经排好序的对象,重新插入已经改变好的对象
 
int GetLayer () const
 获取图层层级
 
- Public 成员函数 继承自 ImageInterface
 ~ImageInterface ()
 析构函数 释放所有开辟的图像句柄资源
 
BYTE GetTransparency () const
 获取透明度
 
void SetTransparency (BYTE transparency)
 设置透明度
 
bool IsWave ()
 是否已经开启了波幅
 
void SetFilter (bool enable, COLORREF col=BLACK, int level=100)
 开启设置滤镜 会清空之前所有滤镜
 
void AddFilter (FilterInfo filterInfo)
 添加滤镜
 
void AddFilter (bool enable=true, COLORREF col=BLACK, int level=100, int layer=1)
 在滤镜上面继续添加滤镜 如果不写层级就会替换第一层
 
void RemoveFilter ()
 移除层级5滤镜
 
void RemoveFilter (int layer)
 移除滤镜
 
void EnableFilter ()
 开关整体滤镜
 
void EnableFilLayer (int layer)
 开关图层滤镜
 
void ExitWave ()
 关闭波幅
 
void MeanBlur (unsigned level)
 均值模糊(建议在Gameplay开始前预处理使用)
 
void WaveFrom (int x, int y, int stonesize, int stoneweight)
 波纹
 
void LoadSprite (std::string name)
 加载静态图像.
 
void SetStartAndEndLoc (Pair start, Pair end)
 截取非动画资源指定部分.
 

Private 成员函数

void DealImage ()
 处理滤镜和旋转
 
void SaveImage ()
 保存图像资源到本地
 
void SaveImage (IMAGE *img)
 保存图像资源到本地.
 

Private 属性

bool bmove = false
 判断是否已经改变了坐标位置为图像中心位置
 
class AnimatoranimatorAttached = nullptr
 附着的动画播放器
 
Timer WaveUpdate
 水波纹计时器
 

友元

class Animator
 
class FsmAnimator
 
class Sprite
 

额外继承的成员函数

- Protected 成员函数 继承自 SceneComponent
void process_Destruct ()
 销毁组件
 
- Protected 成员函数 继承自 ImageInterface
void RotateImage (double radian)
 旋转照片
 
void FilterImage ()
 给图片施加滤镜 滤镜实现
 
- Protected 属性 继承自 SceneComponent
SceneComponentparent = nullptr
 父指针
 
- Protected 属性 继承自 Component
class ObjectpOwner = nullptr
 处理控制逻辑 有对象物体的指针才能进行控制
 
bool bIsEnabled = true
 是否激活
 
- Protected 属性 继承自 ImageInterface
IMAGE * sprite = nullptr
 存储指针节省空间 用来指向我们当前需要的从资源库查找到的地址
 
struct ImageInterface::SpriteInfo spriteinfo
 
BYTE alpha = 255
 设置透明度
 
float angle = 0
 逆时针旋转角度
 
IMAGE * copy = nullptr
 旋转图像句柄
 
IMAGE * filter = nullptr
 滤镜图像句柄
 
bool bFilterEnable = false
 滤镜开关
 
std::set< FilterInfo, FilterSortFilterLayer
 滤镜层级容器 按照指定层级来排序滤镜
 
IMAGE * blur {}
 滤波之后的句柄
 
IMAGE * wave {}
 波幅句柄
 
bool bIsWave =false
 是否开启波幅
 

详细描述

渲染组件(2D).

构造及析构函数说明

◆ ~SpriteRenderer()

SpriteRenderer::~SpriteRenderer ( )

成员函数说明

◆ BeginPlay()

void SpriteRenderer::BeginPlay ( )
virtual

设置纯虚函数,把不能写在构造却需要优先实现的写在这.

重载 SceneComponent .

◆ DealImage()

void SpriteRenderer::DealImage ( )
private

处理滤镜和旋转

◆ Render()

void SpriteRenderer::Render ( )
overridevirtual

渲染图片到句柄上.

核心函数

实现了 LayerInterface.

◆ SaveImage() [1/2]

void SpriteRenderer::SaveImage ( )
private

保存图像资源到本地

备注
图像路径:"SaveGame/ProcessedImage/"
图像名: GetName() + ".png"

◆ SaveImage() [2/2]

void SpriteRenderer::SaveImage ( IMAGE * img)
private

保存图像资源到本地.

参数
img想要保存的图像句柄

◆ Update()

void SpriteRenderer::Update ( float deltaTime)
overridevirtual

执行支持的旋转滤镜等功能

重载 SceneComponent .

友元及相关符号说明

◆ Animator

friend class Animator
friend

◆ FsmAnimator

friend class FsmAnimator
friend

◆ Sprite

friend class Sprite
friend

类成员变量说明

◆ animatorAttached

class Animator* SpriteRenderer::animatorAttached = nullptr
private

附着的动画播放器

◆ bmove

bool SpriteRenderer::bmove = false
private

判断是否已经改变了坐标位置为图像中心位置

◆ WaveUpdate

Timer SpriteRenderer::WaveUpdate
private

水波纹计时器