ページ 1 / 1
メニュー項目をカーソルで合わせたとき、その項目のみを拡大して表示したいのですが
Posted: 2012年7月22日(日) 22:59
by nowa-ru
今のところ「スタート」「コンフィグ」「おわる」の3つのメニュー項目があるのですが、
それぞれにカーソルを合わせたときにそれぞれに対応して拡大メニュー項目を拡大する処理を行いたいです。
どのようにすればよいかご教授お願いします
Re: メニュー項目をカーソルで合わせたとき、その項目のみを拡大して表示したいのですが
Posted: 2012年7月22日(日) 23:04
by h2so5
開発環境、使用しているライブラリ、現在のコードなどを書いてください。
Re: メニュー項目をカーソルで合わせたとき、その項目のみを拡大して表示したいのですが
Posted: 2012年7月22日(日) 23:14
by nowa-ru
C++で ライブラリは独自のものなので・・・
コード:
MENU_BAR gMenus[BAR_Y_NUM] =
{
{GRID_WIDTH*0, GRID_HEIGHT*0, 0},
{GRID_WIDTH*0, GRID_HEIGHT*1, 0},
{GRID_WIDTH*0, GRID_HEIGHT*2, 0},
};
CURSOR gCursor;
void drawMenus(int x, int y);
void ctrlCursor(int key);
void drawCursor(int x, int y);
void DrawTitle()
{
画像を描画する関数(0,0,cgTitle);
//画像を描画(アルファブレンド付)(0,0,cgTitleLogo);
int mx = 200;
int my = 320;
drawMenus(mx, my);
drawCursor(mx, my);
}
void drawMenus(int x, int y)
{
int i;
for(i=0;i<BAR_Y_NUM;i++){
画像を描画する関数(x + gMenus[i].x, y + gMenus[i].y, gMenus[i].hImage);
}
}
void ctrlCursor(int key)
{
int iy;
iy = gCursor.iy;
if(key & KEYIN_DOWN)
{
iy++;
}
if(key & KEYIN_UP)
{
iy--;
}
iy = (iy + BAR_Y_NUM) % BAR_Y_NUM;
gCursor.x = gMenus[iy].x - CUR_WIDTH * 2;
gCursor.y = gMenus[iy].y;
gCursor.iy = iy;
}
void drawCursor(int x, int y)
{
画像を描画(アルファブレンド付)(x + gCursor.x, y + gCursor.y, gCursor.hImage);
}
void initTitle()
{
int i;
for(i=0;i<BAR_Y_NUM;i++){
gMenus[i].hImage = cgMenu[i];
}
gCursor.hImage = cgCursor;
}
// アプリタイトル
int Mode_Title( int nMode, int nKey, int nTrg, int nAppTime, int nModeCnt, int nModeTime )
{
//
// 計算・処理
//
if(nModeCnt == 0){
initTitle();
}
ctrlCursor(nTrg);
// キー入力を判定して、次のモードへ
if ( nKey & KEYIN_SPC )
{ // ゲームに入る。ゲーム用データの初期化
//nMode = MODE_GAME;
switch(gCursor.iy)
{
case 0: //ゲームスタート
nMode = MODE_GAME;
break;
case 1: //コンフィグ
nMode = MODE_CONFIG;
break;
case 2: //ぎゃらりー
nMode = MODE_GALLERY;
break;
}
//
// 描画
//
// 画面を消す
HCls();
DrawTitle();
// 画像
//DrawMem( 0, 0, cgTitle );
// 更新
Flip();
// 次のモードを返す
return nMode;
}
独自のものなので、すこしいじっています。。。
よろしくおねがいします。