メニュー項目をカーソルで合わせたとき、その項目のみを拡大して表示したいのですが

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
nowa-ru

メニュー項目をカーソルで合わせたとき、その項目のみを拡大して表示したいのですが

#1

投稿記事 by nowa-ru » 13年前

今のところ「スタート」「コンフィグ」「おわる」の3つのメニュー項目があるのですが、
それぞれにカーソルを合わせたときにそれぞれに対応して拡大メニュー項目を拡大する処理を行いたいです。

どのようにすればよいかご教授お願いします

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: メニュー項目をカーソルで合わせたとき、その項目のみを拡大して表示したいのですが

#2

投稿記事 by h2so5 » 13年前

開発環境、使用しているライブラリ、現在のコードなどを書いてください。

nowa-ru

Re: メニュー項目をカーソルで合わせたとき、その項目のみを拡大して表示したいのですが

#3

投稿記事 by nowa-ru » 13年前

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;
}

独自のものなので、すこしいじっています。。。

よろしくおねがいします。

閉鎖

“C言語何でも質問掲示板” へ戻る