ページ 11

カーソルの上下移動について

Posted: 2014年4月29日(火) 22:11
by samusu0905
件名に書いてあるとおりで、カーソルは描画されているんですが、カーソルを上下移動させる方法が分かりません。 C言語でプログラムをお願いできませんか?解決策をお願いします。

Re: カーソルの上下移動について

Posted: 2014年4月30日(水) 00:06
by taketoshi
DXライブラリを使用しているのならばDraw系の関数を用いてカーソルを描画したと思います。
描画したカーソルを移動させるには引数のint yをキーインプットに応じて減算及び加算します。それによってカーソルを動かします。

適当ですがこんな感じです。

コード:

int y = 0;
DrawGraph(100,y,*lpHoge,true);
if(CheckHitKey(KEY_INPUT_UP)!=0){//上
y--;
}
if(CheckHitKey(KEY_INPUT_DOWN)!=0){//下
y++;
}
ただ動かすだけではなくメニューカーソルを作りたいというのならば
選択しているメニューの番号を取得する関数から組み立てる必要があります

Re: カーソルの上下移動について

Posted: 2014年4月30日(水) 10:55
by samusu0905
taketoshiさん>>回答有難うございます。DXライブラリィは使用してないんですよ。
ですが、自分が使用しているライブラリィにはDraw系の関数はちゃんとありますよ。
多分↑のプログラムで出来るかもしれません。
また、メニューカーソルも作ろうかと考えている途中です。
色々と教えていただき有難うございます。

Re: カーソルの上下移動について

Posted: 2014年4月30日(水) 13:09
by samusu0905
カーソルを動かすことは出来ました。後はカーソルの移動範囲を定めるのと、カーソルの描画されている場所に合わせてスタートさせたり、操作方法の画面に移動させると言った処理だけです。

Re: カーソルの上下移動について

Posted: 2014年4月30日(水) 17:12
by Hiragi(GKUTH)
移動範囲は普通にゲーム(?)の解像度に合わせて当たり判定をすればいいと思います。 
xが画面外(0<x<480)になったら..とかyが画面外(0<y<640)になったら...
カーソルの描画されている場所に合わせてスタートさせたり、操作方法の画面に移動させるといった処理だけ、というのが
具体的にどのようなものなのかわからないので答えづらいですが...

Re: カーソルの上下移動について

Posted: 2014年5月01日(木) 13:54
by samusu0905
Hiragiさん>>回答有難うございます。
例えばカーソルがGame Start文字の左横に描画されていた時、そこでSpaceキーを押すとゲームが開始すると言ったところです。操作方法の画面に移動するときも同じような処理です。

Re: カーソルの上下移動について

Posted: 2014年5月01日(木) 17:17
by samusu0905
色々と試したらあっさり出来ました。カーソルの構造体を作りX,Y座標の値をGameStart文字のx,y座標に重ならないように合わせる。
そして、カーソルのY座標をずらして操作方法文字のY座標に合わせる。モードの方はGameStart=3,操作方法=2 というように番号を設定。カーソルがGameStart文字の左横に並んだ時にSpaceキーを押したらゲームを開始。と言った感じですね。こんな感じでやったらできましたよ。
すっきりしました!