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

📄 object.h

📁 过程的c++编译器 里面有超级玛丽的源代码 还有一个 管理系统的源代码
💻 H
字号:
#ifndef _OBJECT_H_FILE_INCLUDED_

#define _OBJECT_H_FILE_INCLUDED_

class CGame;

class CObject
{
public:
	int Type;//该对象是何种角色或物体。取值为:
				//1		主角人物。
				//2		无生命物体。如砖块、水管等。
				//3		妖怪。
				//4		子弹。
				//5		金币、蘑菇等可被吃的物体。
	int LiveState;//活动状态。取值为:
				//1		正常
				//2		正在死亡
				//3		已死亡
	int XPos,YPos;//该对象左上角在地图上的位置。
	int Width,Height;//对象的宽度和高度。
	int Layer;//该对象的图像在显示时的层次。取值为:
				//0		背景层。
				//-1	背景层之后。
				//1		背景层之前。
	virtual const int * GetImage(bool * HInv,bool * VInv)=0;
	/*
		取得该对象当前的图像数据。
		参数:
			[o]HInv		是否左右翻转。
			[o]VInv		是否上下翻转。
		返回值:
			返回图像数据指针。该指针指向一个二维数组,数组的大小与物体的大小一致。每个元素表示一个像素。
	*/
	virtual void Clock();
	/*
		执行一次时序信号动作。
	*/
	virtual bool Block(CObject * Other);
	/*
		在移动过程中遇到阻挡。
		参数:
			[i]Other	阻挡自己的对象。如果为NULL,则表示受到地图边界阻挡。
		返回值:
			true		接受阻挡,停止移动。
			false		不理会阻挡,继续移动。
	*/
	virtual void Bump(CObject * Other,int Mode,bool Volun);
	/*
		与其他对象发生碰撞。
		参数:
			[i]Other	与之碰撞的另一个对象。
			[i]Mode		碰撞方式。取值为:
						1		碰到对方顶部。
						2		碰到对方底部。
						3		碰到对方侧面。
			[i]Volun	取值为:true:自己主动碰对方;false:自己被对方碰到。
	*/
	virtual void Attack(CObject * Other,int Mode);
	/*
		遭到其他对象的攻击。
		参数:
			[i]Other	发起攻击的对象。
			[i]Mode		攻击方式。取值为:
						1		接触式攻击。如妖怪与主角接触即可杀死主角;主角使用了无敌隐身后与妖怪接触可杀死妖怪;子弹与妖怪接触可杀死妖怪等。
						2		踩踏式攻击。仅限于主角踩踏妖怪。
						3		头顶式攻击。如主角顶到砖块、砖块顶到妖怪等。
	*/
	CObject(CGame * Game,int Tp,int X,int Y,int W,int H,int Ly);
protected:
	CGame * m_Game;
	int m_HorzSpeed;//当前水平运动速度(向右为正)
	int m_VertSpeed;//当前竖直运动速度(向下为正)
};

#endif

⌨️ 快捷键说明

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