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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
samusu0905
記事: 336
登録日時: 11年前

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

#1

投稿記事 by samusu0905 » 11年前

件名に書いてあるとおりで、カーソルは描画されているんですが、カーソルを上下移動させる方法が分かりません。 C言語でプログラムをお願いできませんか?解決策をお願いします。

taketoshi
記事: 222
登録日時: 14年前
住所: 日本国

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

#2

投稿記事 by taketoshi » 11年前

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++;
}
ただ動かすだけではなくメニューカーソルを作りたいというのならば
選択しているメニューの番号を取得する関数から組み立てる必要があります

samusu0905
記事: 336
登録日時: 11年前

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

#3

投稿記事 by samusu0905 » 11年前

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

samusu0905
記事: 336
登録日時: 11年前

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

#4

投稿記事 by samusu0905 » 11年前

カーソルを動かすことは出来ました。後はカーソルの移動範囲を定めるのと、カーソルの描画されている場所に合わせてスタートさせたり、操作方法の画面に移動させると言った処理だけです。

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

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

#5

投稿記事 by Hiragi(GKUTH) » 11年前

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

samusu0905
記事: 336
登録日時: 11年前

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

#6

投稿記事 by samusu0905 » 11年前

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

samusu0905
記事: 336
登録日時: 11年前

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

#7

投稿記事 by samusu0905 » 11年前

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

閉鎖

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