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

📄 animctrl.h

📁 迷宫游戏VC++源代码 界面很不错
💻 H
字号:
#ifndef		_ANIMCTRL_H_ 
#define		_ANIMCTRL_H_ 
#pragma once
//========================================================================================================
#include"Bmp24.h"
#include"ShowList.h"
//=====================================================================================

extern CShowList g_AnimList;
//======================================================================================================
//		最基本的动画控制类说明
//所有的动画都必须重载CAnimCtrl,所有的CAnimCtrl及子类的对象都被添加的g_AnimList中,最后统一显示
//通过重载CAnimCtrl中的虚函数,既统一接口,来完成动画控制的自定义功能。
//======================================================================================================
class CAnimCtrl  
{
public:				
	virtual	void	New()						{	g_AnimList.Add(this);		}//所有子类新定义的New函数都必须,调用该函数来将自己添加到g_AnimList
	virtual	void	New(CBmp24*p,int x,int y);
	virtual	void	New(CBmp24*p,int x,int y,int depth);
	virtual	int		Play(void*)					{	return 0;						}//子类可以重载该函数,实现具体的动画控制功能,返回1时,表示动画播放结束,0没结束
	virtual	void	Delete()					{	g_AnimList.Remove(this);		}//将自身从g_AnimList中清除
	virtual	void	Draw(CBmp24*p)				{	if(!m_bHide) m_pBmp->DrawBmp(p,m_x,m_y,m_Idx,m_EffectFlag);}//可以重载该函数,自定义往屏幕上绘画的内容,g_AnimList最后将调用该函数
			void	SetIdx(int idx)				{	m_Idx=idx;						}//组图中,当前小图片的编号。在单图中该变量无意义。
			void	SetXY(int x,int y)			{	m_x=x;	m_y=y;					}//动画的位置坐标
			void	SetX(int x)					{	m_x=x;							}//设置动画的水平坐标
			void	SetY(int y)					{	m_y=y;							}//设置动画的垂直坐标
			int		GetX()						{	return	m_x;					}
			int		GetY()						{	return	m_y;					}
			void	AddXY(int x,int y)			{	m_x+=x;	m_y+=y;					}//移动动画的位置
			void	SetFlip(int flipType)		{	m_EffectFlag=flipType;			}//0原图 1水平 2垂直 3完全,暂时只是实现了图片的翻转效果
			void	SetHide(bool bHide)			{	m_bHide=bHide;	}	//可以隐藏动画,
			int		GetDepth()					{	return m_Depth;}
			void	SetDepth(int depth);	//设置图片显示的深度,范围:0-9,0为最下面,9为最上面
protected:
			int		m_x,m_y;		//动画的坐标
			int		m_Idx;			//组图中,当前小图片的编号。在单图中该变量无意义。
			int		m_EffectFlag;	//图片显示的效果,暂时只有翻转效果,可取值为:0原图 1水平 2垂直 3完全翻转
			bool	m_bHide;		//可以隐藏,隐藏之后,不会显示,也不会被做播放处理。
			int		m_Depth;
			CBmp24*	m_pBmp;			//动画所用到的图片
public:
	CAnimCtrl();
	virtual ~CAnimCtrl();
};
//============================================================================================
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -