c3danimation.h

来自「<B>很多DirectX 9.0游戏编程源码例子</B>」· C头文件 代码 · 共 50 行

H
50
字号
#ifndef __HEADER__3DANIMATION
#define __HEADER__3DANIMATION

#include <windows.h>
#include <stdio.h>
#include <D3DX9.h>
#include "Object3DClass.h"

const int g_iMaxObjects = 16;
const int g_iMaxKeys = 1024;

struct stKeyFrame
{
	D3DXVECTOR3	m_vecRot;
	D3DXVECTOR3 m_vecTrans;
	D3DXVECTOR3 m_vecScale;
	long		m_lTimeDelay;
};

class C3DAnimation
{
	public:
		stKeyFrame				*m_keyFrames[ g_iMaxObjects ][ g_iMaxKeys ];
		Object3DClass			*m_objObject[ g_iMaxObjects ];
		char					m_szObjectName[ g_iMaxObjects ][ 32 ];
		int						m_iNumFrames;
		int						m_iNumObjects;
		char					m_szAnimName[ 64 ];
		int						m_iCurFrame;
		long					m_lCurTime;
		LPDIRECT3DDEVICE9       m_pd3dDevice;

		C3DAnimation();
		~C3DAnimation();
		void vNewFrame( void );
		int	iNextFrame( void );
		int	iPrevFrame( void );
		int	iStartFrame( void );
		int iNewObj( char *szObjName );
		void vUpdateTrans( int iObj, int iKey, D3DXVECTOR3	vecTrans );
		void vUpdateRot( int iObj, int iKey, D3DXVECTOR3	vecRot );
		void vUpdateScale( int iObj, int iKey, D3DXVECTOR3	vecScale );
		void vSave( char *szFileName );
		void vLoad( char *szFileName );
		void vSet3DDevice( LPDIRECT3DDEVICE9 pd3dDevice );
		void vReset( void );
};

#endif

⌨️ 快捷键说明

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