📄 aniline3x.h
字号:
// 动画类衍生
// 该类模拟实现了QQ连连看成功销毁两副牌时的连线特效
#pragma once
#include "ANIObject.h"
#define LINE3XMODE_COMMON 0x01 //直线效果
#define LINE3XMODE_LEVIN 0x02 //闪电效果
#define LINE3XMODE_BLEND (LINE3XMODE_COMMON|LINE3XMODE_LEVIN) //直线与闪电同时
struct st_Line3XAttr
{
float fAlpha; //线条透明度
};
class ANILine3X :
public ANIObject
{
private:
ANILine3X();
public:
ANILine3X(RenderSprite* pUnit);
~ANILine3X(void);
protected:
RenderSprite* m_pUnit;
st_Line3XAttr m_Line3XAttr; //线条属性
vector <GUIPoint> m_ptPointArray; //所有的点队列
BYTE m_byLine3XMode;
DWORD m_dwColor;
public:
void SetLine3XMode(BYTE Mode,DWORD color = 0xFFFFFFFF);
void BeginRender(); //主要是针对特效线条的/系统线条不需要启动,压入坐标的同时就开始画了
void PushPoint(float x, float y); //加入一个关键点
void CleanPoint(); //清楚所有关键点
bool IsValied(); //假如这个line里面一个关键点都没有的话 则视为无效的线条,外部绘制的时候比较有用
void Render();
protected:
inline void Render_Common(); //绘制普通线段
inline void Render_Levin(); //绘制闪电线段
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -