dl
dl::Sprite类 参考

2d绘图精灵 更多...

#include <dl_sprite.h>

Public 类型

enum class  Sampler { NORMAL , PIXEL , UI }
 
enum class  Blend { NORMAL , EFFECT , GRAY }
 

Public 成员函数

void Render ()
 绘制
 
float GetOrder () const
 
Quad GetQuad () const
 
CoorGetCoor () const
 
SpriteID GetID () const
 
void SetOrder (float order)
 设置绘制顺序,默认为 Constant::Z_DEFAULT @order 要设置的order,越小越靠近屏幕,范围[0, 1)
 
void SetQuad (const Quad &quad)
 
void SetQuadOrigin ()
 设置为原始quad大小
 
void DtQuadOffset (const Position &offset)
 修改当前quad
 
void DtQuadRotate (float rotate)
 
void DtQuadScale (const Position &scale)
 
void DtQuadScale (float scale)
 
void SetQuad (QuadParam &param)
 根据原图设置quad
 
void SetColor (const Color &col)
 
void SetColor (const Color &col, size_t index)
 
void SetCoor (Coor *coor, bool own=false)
 
void CreateCoor ()
 创建自己拥有的Coor,并指向父Coor
 
void DeleteCoor ()
 删除自己拥有的Coor
 
void SetSampler (Sampler type)
 设置采样器,对于像素图来说应该设置为 SamplerType::PIXEL
 
void SetBlend (Blend type)
 设置混合模式
 
void SetUI (bool ui, bool change_sampler=true)
 设置后为ui精灵,会屏蔽order大于自己的ui精灵的pickup响应
 
void SetClip (Rect *rect)
 设置裁剪(世界坐标系)
 
void SetBright (float bright)
 设置亮度
 
void SetUV (size_t index, const UV &uv)
 手动设置uv后,纹理区域id失效
 
UV GetUV (size_t index)
 
bool IsColorOne ()
 是否非透明精灵(四个顶点颜色均为非透明)
 
bool IsPickup ()
 是否被鼠标选中
 
Position GetSize ()
 返回大小(一般情况下意义上的大小)
 
Position GetAnchor ()
 返回锚点(一般情况下意义上的锚点)
 
Color GetColor (size_t i=0)
 返回颜色
 
bool IsOwnCoor ()
 是否拥有coor
 
CoorAddCoor ()
 添加Coor,存在则直接返回
 
void RenderDebug ()
 
 ~Sprite ()
 

友元

class VK
 
class Factory
 
class PoolList< Sprite >
 

详细描述

2d绘图精灵

在文件 dl_sprite.h68 行定义.

成员枚举类型说明

◆ Blend

enum class dl::Sprite::Blend
strong
枚举值
NORMAL 
EFFECT 
GRAY 

在文件 dl_sprite.h80 行定义.

◆ Sampler

enum class dl::Sprite::Sampler
strong
枚举值
NORMAL 
PIXEL 
UI 

在文件 dl_sprite.h74 行定义.

构造及析构函数说明

◆ ~Sprite()

dl::Sprite::~Sprite ( )

成员函数说明

◆ AddCoor()

Coor * dl::Sprite::AddCoor ( )
inline

添加Coor,存在则直接返回

在文件 dl_sprite.h236 行定义.

◆ CreateCoor()

void dl::Sprite::CreateCoor ( )
inline

创建自己拥有的Coor,并指向父Coor

在文件 dl_sprite.h140 行定义.

◆ DeleteCoor()

void dl::Sprite::DeleteCoor ( )
inline

删除自己拥有的Coor

注解
若有其他Coor引用自己,则会崩溃

在文件 dl_sprite.h160 行定义.

◆ DtQuadOffset()

void dl::Sprite::DtQuadOffset ( const Position & offset)
inline

修改当前quad

在文件 dl_sprite.h113 行定义.

◆ DtQuadRotate()

void dl::Sprite::DtQuadRotate ( float rotate)

◆ DtQuadScale() [1/2]

void dl::Sprite::DtQuadScale ( const Position & scale)

◆ DtQuadScale() [2/2]

void dl::Sprite::DtQuadScale ( float scale)
inline

在文件 dl_sprite.h119 行定义.

◆ GetAnchor()

Position dl::Sprite::GetAnchor ( )
inline

返回锚点(一般情况下意义上的锚点)

在文件 dl_sprite.h224 行定义.

◆ GetColor()

Color dl::Sprite::GetColor ( size_t i = 0)
inline

返回颜色

在文件 dl_sprite.h227 行定义.

◆ GetCoor()

Coor * dl::Sprite::GetCoor ( ) const
inline

在文件 dl_sprite.h93 行定义.

◆ GetID()

SpriteID dl::Sprite::GetID ( ) const
inline

在文件 dl_sprite.h94 行定义.

◆ GetOrder()

float dl::Sprite::GetOrder ( ) const
inline

在文件 dl_sprite.h91 行定义.

◆ GetQuad()

Quad dl::Sprite::GetQuad ( ) const
inline

在文件 dl_sprite.h92 行定义.

◆ GetSize()

Position dl::Sprite::GetSize ( )
inline

返回大小(一般情况下意义上的大小)

在文件 dl_sprite.h221 行定义.

◆ GetUV()

UV dl::Sprite::GetUV ( size_t index)

◆ IsColorOne()

bool dl::Sprite::IsColorOne ( )

是否非透明精灵(四个顶点颜色均为非透明)

◆ IsOwnCoor()

bool dl::Sprite::IsOwnCoor ( )
inline

是否拥有coor

在文件 dl_sprite.h233 行定义.

◆ IsPickup()

bool dl::Sprite::IsPickup ( )

是否被鼠标选中

◆ Render()

void dl::Sprite::Render ( )

绘制

◆ RenderDebug()

void dl::Sprite::RenderDebug ( )

◆ SetBlend()

void dl::Sprite::SetBlend ( Blend type)
inline

设置混合模式

在文件 dl_sprite.h179 行定义.

◆ SetBright()

void dl::Sprite::SetBright ( float bright)
inline

设置亮度

注解
颜色通道乘上此值(不会超过1)

在文件 dl_sprite.h203 行定义.

◆ SetClip()

void dl::Sprite::SetClip ( Rect * rect)
inline

设置裁剪(世界坐标系)

注解
作为ui子节点时,可能会被自动设置

在文件 dl_sprite.h195 行定义.

◆ SetColor() [1/2]

void dl::Sprite::SetColor ( const Color & col)

◆ SetColor() [2/2]

void dl::Sprite::SetColor ( const Color & col,
size_t index )

◆ SetCoor()

void dl::Sprite::SetCoor ( Coor * coor,
bool own = false )
inline

在文件 dl_sprite.h132 行定义.

◆ SetOrder()

void dl::Sprite::SetOrder ( float order)

设置绘制顺序,默认为 Constant::Z_DEFAULT @order 要设置的order,越小越靠近屏幕,范围[0, 1)

注解
如果order相同,则后调用Render的靠近屏幕 (前提是它们属于一个DrawCall,即所在纹理、裁剪、视口、根坐标都相同)

◆ SetQuad() [1/2]

void dl::Sprite::SetQuad ( const Quad & quad)

◆ SetQuad() [2/2]

void dl::Sprite::SetQuad ( QuadParam & param)

根据原图设置quad

注解
size自动填充

◆ SetQuadOrigin()

void dl::Sprite::SetQuadOrigin ( )

设置为原始quad大小

◆ SetSampler()

void dl::Sprite::SetSampler ( Sampler type)
inline

设置采样器,对于像素图来说应该设置为 SamplerType::PIXEL

注解
SetUI会默认设置为 SamplerType::UI

在文件 dl_sprite.h172 行定义.

◆ SetUI()

void dl::Sprite::SetUI ( bool ui,
bool change_sampler = true )

设置后为ui精灵,会屏蔽order大于自己的ui精灵的pickup响应

参数
[in]ui是否为ui精灵
[in]change_sampler是否自动修改sampler

◆ SetUV()

void dl::Sprite::SetUV ( size_t index,
const UV & uv )

手动设置uv后,纹理区域id失效

友元及相关符号说明

◆ Factory

friend class Factory
friend

在文件 dl_sprite.h71 行定义.

◆ PoolList< Sprite >

friend class PoolList< Sprite >
friend

在文件 dl_sprite.h71 行定义.

◆ VK

friend class VK
friend

在文件 dl_sprite.h70 行定义.


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