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

📄 cbmouse.h

📁 网页游戏赤壁
💻 H
字号:
/////////////
//	CBMouse.h		:	v0021
//	Written by		:	Liu Gang
//	Compiler		:	Microsoft Visual C++ 4.2 & DirectX
//	Library			:	DDraw.Lib
//	Copyright (C)	:	1996-1997 WayAhead Corporation 
//	v0021			:	Jan.22.1997, devided from CBDraw.cpp
//  v0022			:	Sep.11.1997, HitTestU() parameters changed
/////////////
// header file

#ifndef	__CBMOUSE_H__
#define	__CBMOUSE_H__

//////////////////
// 检验鼠标点击的效果
#define	MOUSE_HITRESULT_NONE	0
#define	MOUSE_HITRESULT_GROUND	1
#define	MOUSE_HITRESULT_UNIT	2

struct MOUSE_HITRESULT_STRUCT
{
	int nType;		// 鼠标点击到的目标类型
	int nLayer;		// 层数
	WORD wCode;		// 图素代码
	POINT ptHit;	// 点击到的图素位置(格子)
};

// 初始化探测用数据
void MOUSE_InitByConts();

// 检测地形
// pt			:	鼠标点击的坐标,直接从GetCursorPos()中的得到的,以点为单位。
// pHitResult	:	检测的结果
// nLayer		:	检测的层数,缺省值为2,所有三层的地形都要检测
// 返回FALSE时pHitResult无效
BOOL MOUSE_HitTestG( POINT pt, struct MOUSE_HITRESULT_STRUCT *pHitResult, int nLayer = 2 );

// 检测单元
// pt			:	鼠标点击的坐标,直接从GetCursorPos()中的得到的,以点为单位。
// pHitResult	:	检测的结果
// bEnemy		:	只选择敌人时为真
// 返回FALSE时pHitResult无效
BOOL MOUSE_HitTestU( POINT pt, struct MOUSE_HITRESULT_STRUCT *pHitResult, BOOL bEnemy = 0 );

// 先检测单元后检测地形
// pt			:	鼠标点击的坐标,直接从GetCursorPos()中的得到的,以点为单位。
// pHitResult	:	检测的结果
// bEnemy		:	只选择敌人时为真
// 返回FALSE时pHitResult无效
BOOL MOUSE_HitTestUG( POINT pt, struct MOUSE_HITRESULT_STRUCT *pHitResult, BOOL bEnemy = 0 );

// 先检测地形后检测单元
// pt			:	鼠标点击的坐标,直接从GetCursorPos()中的得到的,以点为单位。
// pHitResult	:	检测的结果
// 返回FALSE时pHitResult无效
BOOL MOUSE_HitTestGU( POINT pt, struct MOUSE_HITRESULT_STRUCT *pHitResult );
//////////////////

//////////////////
// test mouse dragging
// if mouse left button down, set down flag, begin dragging process
// nPosX, nPosY	:	mouse cursor position
void MOUSE_LeftDown( int nPosX, int nPosY );

// if mouse left button up, clear down flag, end dragging process
// nPosX, nPosY	:	mouse cursor position
// return		:	dragging rectangle
RECT MOUSE_LeftUp( int nPosX, int nPosY );

// if mouse is moving with left button holds down, do dragging process
// nPosX, nPosY	:	mouse cursor position
void MOUSE_IsLeftDown( int nPosX, int nPosY );

// display dragging rectangle to back buffer
void MOUSE_DrawDragRect();

// update dragging rectangle to front buffer
void MOUSE_UpdateDrag();
//////////////////

//////////////////
// test if mouse hit in the minimap
// nPosX,nPosY	:	mouse hit position from screen, in point
// return		:	the relative position to whole battlefield map that mouse hit,
//					in grid
POINT MOUSE_InMiniMap(  int nPosX, int nPosY  );
//////////////////

//////////////////
// change grid position to point position
// ptPos:	grid position
POINT MOUSE_Grid2Point( int nLayer, POINT ptPosG );
//////////////////

//////////////////
// for states of the cursor
#define	MOUSE_STATE_NONE			0
#define	MOUSE_STATE_GONGJI			1	
#define	MOUSE_STATE_GONGJI_END1		2	// 攻击自己人
#define	MOUSE_STATE_GONGJI_END2		3	// 攻击敌人
#define	MOUSE_STATE_YUNSONG			4
#define	MOUSE_STATE_YUNSONG_END		5
#define	MOUSE_STATE_EYE				6
#define	MOUSE_STATE_DOWN			7
#define	MOUSE_STATE_JIARU			8
#define	MOUSE_STATE_JIARU_END		9

// nState	:	new state
// bForce	:	TRUE if set the state exactly you give
void MOUSE_SetState( int nState, BOOL bForce = FALSE );

void MOUSE_EnableTest( BOOL bEnable=TRUE );
//////////////////
#endif

⌨️ 快捷键说明

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