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

📄 car.h

📁 极限赛车CarGameDemo DirectX9
💻 H
字号:
#ifndef _CAR_H_
#define	_CAR_H_
#include "bullet.h"
#include "explosion.h"
//---------------------------------------
//Car类:从Mymesh类继承,包含车的基本属性和功能:
//成员变量:位置,速度,自身坐标系
//成员函数:前进,左转,右转
//------------------------------------------
class Game;
class Bullet;
class Obstacle;
class Car :public Mymesh
{
public:
	enum SpeedLimit { MINSPEED = 0 };//速度限制
	enum { SIZE = 15 };
	friend Game;
	friend Bullet;
	Car(void);
	~Car(void);

	D3DXVECTOR3 GetPosition(D3DXVECTOR3* pos = NULL);
	D3DXVECTOR3 GetLook(void);
	D3DXVECTOR3 GetRight(void);
	float GetSpeed(void);

	void SetPosition(D3DXVECTOR3* pos);
	void SetSpeed(float sp);
	void SetMaxSpeed(float sp);
	void SavePosMatrix(void);						//将计算car的世界变换矩阵,并将其放在_world中

	void AddSpeed(float units);
	void SubSpeed(float units);
	void GoLeft(float angle);
	void GoRight(float angle);
	void Move(float units);
	void LPmove(float units);						//左平移
	void RPmove(float units);						//右平移
	void Fire(void);								//发射子弹
	bool Kill(void);
	
	bool Init(LPCSTR carFN, LPCSTR bulletFN = "data/model/bullet.X",LPCSTR expFN = "data/explotion.bmp");		//第一个参数为车模型文件,第二个为子弹
	bool Draw(void);
	void Update(float timeDelta);
	void Clean(void);

	bool _isAlive;
	int _lifeNum;
	char _lifeString[SIZE];
	int _circleNum;
	char _circleString[SIZE];
	char _speedString[SIZE];
private:
	Explosion _carExp;	//车爆炸
	Bullet _bullet;		//子弹
	bool _haveBullet;	//是否有子弹
	float _speed;
	float _maxSpeed;

	//用于确定车相对世界坐标的位置
	D3DXVECTOR3 _right;
	D3DXVECTOR3 _up;
	D3DXVECTOR3 _look;
	D3DXVECTOR3 _pos;
};

#endif

⌨️ 快捷键说明

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