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

📄 m2anicontroller.h

📁 3D游戏展示程序
💻 H
字号:
//--------------------------------------------------
//  Desc: M2 Animation Controller
//  Date: 2007.4.30 /update
//  Author: Artsylee
//
//  From: WOW Model Viewer
//  I just coding in my own ways!
//
//--------------------------------------------------

#ifndef _M2ANICONTROLLER_
#define _M2ANICONTROLLER_

struct ModelAnimation;

struct AnimInfo
{
	AnimInfo()
	{
		m_bEnable = false;
	}
	unsigned int	m_AnimID;
	int				m_Loops;
	bool			m_bEnable;
};

#define ANIGROUPNUM		4
#define CHANNELNUM		2

class M2AniController
{
public:
	M2AniController(ModelAnimation *pAni);
	~M2AniController();
	void Clear();

	bool IsPause(void);
	bool IsChannelEnable(int channel);
	void EnableChannel(int channel);
	void DisableChannel(int channel);
	void EnableGroup(int channel, int group);
	void DisableGroup(int channel, int group);
	
	int Update(int Deltatime);

	void AddAni(unsigned int id, int loop); 
	void SetAni(int channel, int group, unsigned int id, int loop);

	void Play();
	void Stop(int channel);
	void Pause(bool bForce = false);

	void Next(int channel);

	int GetAnim(int channel = 0);
	int GetFrame(int channel = 0);
	int GetFrameCount(int channel = 0);
	void SetSpeed(float speed)			{ m_fSpeed = speed;		}
	float GetSpeed(void)				{ return m_fSpeed;		}
	
private:
	ModelAnimation*	m_pAni;
	AnimInfo		m_AniGroup[CHANNELNUM][ANIGROUPNUM];
	int				m_Index[CHANNELNUM];
	unsigned int	m_Frame[CHANNELNUM];
	bool			m_bChannelEnable[CHANNELNUM];

	float			m_fSpeed;
	bool			m_bPause;
};

#endif // _M2ANICONTROLLER_

⌨️ 快捷键说明

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