コード例 #1
0
ファイル: player.cpp プロジェクト: HALSANGO5/Sango
bool IsMouseHitPlayer(void)
{
	if(	(g_aPlayer[0].pos.x - *GetMouX()) * (g_aPlayer[0].pos.x - *GetMouX()) +
		(g_aPlayer[0].pos.y - *GetMouY()) * (g_aPlayer[0].pos.y - *GetMouY()) <=
		(g_aPlayer[0].fRadius * 2 + 1) * (g_aPlayer[0].fRadius * 2 + 1))
	{
		float fX = 0, fY = 0;
		fX = *GetMouX() - (int)*GetMouX() % 5;
		fY = *GetMouY() - (int)*GetMouY() % 5;
		g_aPlayer[0].pos.x = fX;
		g_aPlayer[0].pos.y = fY;
		g_aPlayer[0].posSave = g_aPlayer[0].pos;
		return true;
	}
	return false;
}
コード例 #2
0
ファイル: playbar.cpp プロジェクト: andylam5538/sango
//=============================================================================
// 更新処理
//=============================================================================
void UpdatePlaybar(void)
{
	if(!*GetIsPlay())
	{
		// 如果鼠标左键单击的时候,当前位置在时间条的范围内,那么该条跟随鼠标移动
		// シークバーがマウスの位置にくっついている
		if(IsMouseLeftPressed())
		{
			if(!g_bIsPlaybarMove)
				for(int nCntPlayBar = 0; nCntPlayBar < MAX_PLAYBAR; nCntPlayBar++)
				{
					if(g_aPlaybar[nCntPlayBar].bUse == true)
					{
						float fX = *GetMouX(), fY = *GetMouY();
						if(	fX >= g_aPlaybar[nCntPlayBar].pos.x - g_aPlaybar[nCntPlayBar].fWidth / 2 && 
							fX <= g_aPlaybar[nCntPlayBar].pos.x + g_aPlaybar[nCntPlayBar].fWidth / 2 &&
							fY >= g_aPlaybar[nCntPlayBar].pos.y - g_aPlaybar[nCntPlayBar].fHeight / 2 &&
							fY <= g_aPlaybar[nCntPlayBar].pos.y + g_aPlaybar[nCntPlayBar].fHeight / 2)
						{
							{
								// X軸
								g_fDistPbar2MousX = abs(g_aPlaybar[nCntPlayBar].pos.x - fX);
								// Y軸
								//g_fDistPbar2MousY = abs(g_aPlaybar[nCntPlayBar].pos.y - fY);
							}
							g_bIsPlaybarMove = true;
							g_nBeControlNum = nCntPlayBar;
						}
						//SetBarEffect(&g_aPlaybar[nCntPlayBar]);
					}
				}

			if(g_bIsPlaybarMove == true)
			{
				float fX = *GetMouX(), fY = *GetMouY();
				// X軸
				if(fX < g_aPlaybar[g_nBeControlNum].pos.x)
					g_aPlaybar[g_nBeControlNum].pos.x = fX + g_fDistPbar2MousX;
				else
					g_aPlaybar[g_nBeControlNum].pos.x = fX - g_fDistPbar2MousX;
				// Y軸
				//if(nY < g_aPlaybar[g_nBeControlNum].pos.y)
				//	g_aPlaybar[g_nBeControlNum].pos.y = fY + g_fDistPbar2MousY;
				//else
				//	g_aPlaybar[g_nBeControlNum].pos.y = fY - g_fDistPbar2MousY;
			}

			// 重排轨迹线
			*GetCleanupSwitch() = false;
		}
		else
		{
			g_bIsPlaybarMove = false;
		}

		if(IsMouseRightTriggered())
		{
			for(int nCntPlayBar = 0; nCntPlayBar < MAX_PLAYBAR; nCntPlayBar++)
			{
				if(g_aPlaybar[nCntPlayBar].bUse == true)
				{
					float fX = *GetMouX(), fY = *GetMouY();
					if(	fX >= g_aPlaybar[nCntPlayBar].pos.x - g_aPlaybar[nCntPlayBar].fWidth / 2 && 
						fX <= g_aPlaybar[nCntPlayBar].pos.x + g_aPlaybar[nCntPlayBar].fWidth / 2 &&
						fY >= g_aPlaybar[nCntPlayBar].pos.y - g_aPlaybar[nCntPlayBar].fHeight / 2 &&
						fY <= g_aPlaybar[nCntPlayBar].pos.y + g_aPlaybar[nCntPlayBar].fHeight / 2)
					{
						g_aPlaybar[nCntPlayBar].bIsInvert = g_aPlaybar[nCntPlayBar].bIsInvert ? false : true;
						float fTempChange = 0;
						fTempChange = g_aPlaybar[nCntPlayBar].fTimeEnd;
						g_aPlaybar[nCntPlayBar].fTimeEnd = g_aPlaybar[nCntPlayBar].fTimeStart;
						g_aPlaybar[nCntPlayBar].fTimeStart = fTempChange;
						// 重排轨迹线
						*GetCleanupSwitch() = false;
					}
				}
			}
		}

		for(int nCntPlayBar = 0; nCntPlayBar < g_nPlaybarNum; nCntPlayBar++)
		{
			if(g_aPlaybar[nCntPlayBar].bUse)
			{
				// 
				if(	g_aPlaybar[nCntPlayBar].nType == PLAYBAR_3_1 ||
					g_aPlaybar[nCntPlayBar].nType == PLAYBAR_3_2 ||
					g_aPlaybar[nCntPlayBar].nType == PLAYBAR_3_3)
				{

					if(!g_aPlaybar[nCntPlayBar].bIsInvert)
						SetTexturePlaybar(nCntPlayBar, 0, 2, 1, 2);
					else
						SetTexturePlaybar(nCntPlayBar, 1, 2, 1, 2);

					SetVertexPlaybar(nCntPlayBar, 1, 1);
				}
			}
		}
	}

	//g_aPlaybar[0].pos.x = *GetMouX();
	//g_aPlaybar[0].pos.y = *GetMouY();
	if(g_nBeControlNum != -1)
		PlaybarPosChange(g_nBeControlNum);
}
コード例 #3
0
ファイル: botton.cpp プロジェクト: andylam5538/sango
//*****************************************************************************
// グローバル変数
//*****************************************************************************
LPDIRECT3DTEXTURE9		g_apD3DTextureBotton[MAX_BOTTON] = {};		// テクスチャへのポインタ
LPDIRECT3DVERTEXBUFFER9 g_pD3DVtxBuffBotton = NULL;						// 頂点バッファインターフェースへのポインタ

BOTTON					g_aBotton[MAX_BOTTON];			// 木ワーク

// 计数器
int						g_nCounterAnimBotton;
//记录HP图片帧
int						g_nPatternAnimBotton;

float					*g_fBotGetMouX = GetMouX();
float					*g_fBotGetMouY = GetMouY();

//////////////////////
// 贴图的种类路径
//////////////////////
const char *c_pTextureBotton[BOTTON_TYPE_MAX]=		// 不同模式下的背景切换
{
	"data/TEXTURE/bottons/play.png",				// プレー
	"data/TEXTURE/bottons/pause.png",				// ポーズ
	"data/TEXTURE/bottons/stop.png",				// ストップ
};

//=============================================================================
// 初期化処理
//=============================================================================
HRESULT InitBotton(void)