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; }
//============================================================================= // 更新処理 //============================================================================= 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); }
//***************************************************************************** // グローバル変数 //***************************************************************************** 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)