⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aniline3x.h

📁 HGE 2D游戏引擎制作的一个演示
💻 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 + -