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

📄 character.h

📁 3D游戏展示程序
💻 H
字号:
//--------------------------------------------------
//  Desc: Ride Horse & Change Clothes Character
//  Date: 2007.4.18 /update
//  Author: artsylee
//
//  Copyright (C) 2007 artsylee
//
//--------------------------------------------------

#ifndef _CHARACTER_
#define _CHARACTER_

#include "M2Character.h"
#include "CameraLock.h"
#include "Common.h"

enum RideState
{
	RS_NONE = 0,
	RS_HORSE,
	RS_DRAKE,
};

enum EditCameraState
{
	ES_NONE = 0,
	ES_FADE_OUT,
	ES_FADE_IN,
};


struct EditCameraAnimation
{
	bool m_bEdit;
	int	 m_bDynamicMode;
	unsigned long m_Start;
	float m_fCameraDelta;
	float m_fCameraRadius;
	float m_fOffsetYDelta;
	float m_fOffsetZDelta;
	EditCameraAnimation()
	{
		m_bEdit = false;
		m_bDynamicMode = ES_NONE;
		m_Start = 0;
		m_fCameraDelta = 0.0f;
		m_fCameraRadius = 0.0f;
		m_fOffsetYDelta = 0.0f;
		m_fOffsetZDelta = 0.0f;
	}
};

class CCharacter : public CCameraLock
{
public:
	CCharacter();
	~CCharacter();

	void	Load(void);
	void	LoadPlayer(bool bDefault = true);
	void	SavePlayer(void);
	void	Update(void);
	void	Render(void);
	M2Character* GetChar(void)	{	return &m_Char;	}
	void	TurnTo(float fAngle);
	void	NextRider(void);
	void	WalkRun(void);

private:
	void	Move(float fSpeed);
	void	Turn(float fAngleSpeed);
	float	GetDirectionRadian(void);
	float	GetCameraDestRadian(void);
	void	OnRide(void);

	// equipment change
public:
	void	InEquip(void);
	void	OutEquip(void);
private:
	void	OnEquip(void);

private:
	// Player
	M2Character	m_Char;
	D3DXVECTOR3 m_vDirection;	// 角色方向, Y值不用
	bool		m_bRun;
	float		m_fSpeed;		// 位移速度
	float		m_fSpeedRate;
	float		m_fAngleSpeed;	// 转身角速度
	int			m_RideState;
	bool		m_bJump;
	CTimer		m_JumpTimer;

	// Camera Control
	EditCameraAnimation	m_Mode;
};

#endif // _CHARACTER_

⌨️ 快捷键说明

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