Dxlibで画面サイズの取得

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

Dxlibで画面サイズの取得

#1

投稿記事 by usami » 16年前

画面サイズの習得方法、あるいはそれに類似する方法があれば教えてください。

たとえば、画像の中心座標を引数として受け取とり、画像を表示する
centerメソッドを考えたとします。
そのうえで、ゲーム開始時のキャラクターの表示場所を、
startメソッドで指定するとして、
このとき、画面サイズ/クライアント領域などを取得できないかと考えています。
#define CONSTSIZE 32

//画像の表示のための構造体
 typedef struct _grect{
  int x,y,cx,cy;
 }grect_t;

//指定した座標を中心に画像を表示するメソッド。
 void center(int x, int y, int hGraph){
     grect_t grect;
     
     grect.x=x-(CONSTSIZE/2);
     grect.y=y-(CONSTSIZE/2);
     grect.cx=x+CONSTSIZE;
     grect.cy=y+CONSTSIZE;

     DrawExtendGraph(grect.x, grect.y, grect.cx, grect.cy, hGraph, true);
 }

//一番初めのキャラクター表示とかに利用するメソッド。
 void start(){
     int x, int y;

     //
     /*ここでクライアント領域、または画面サイズなどを取得する*/     
     //
     RECT rect=???;     //←ここをどうにかする方法があれば教えてください。
            //変数は適当なので、
                        //画面サイズの習得方法でもその他のやり方でもこだわりはありません。

     x=(rext.right-CONSTSIZE)/2;
     y=(rect.bottom-CONSTSIZE)/2;

     center(x,y);      //これで、画面の中央に画像が表示される?

 }
何かいい方法があればぜひお願いします。

BEMANI

Re:Dxlibで画面サイズの取得

#2

投稿記事 by BEMANI » 16年前

>>usamiさん
DxLibを使わないのでこれで行けるか解りませんが、検索するとこんなものが出てきました。
ttp://studiokingyo.fc2web.com/dxlib/kaibou/k_shiyou.html

このURLにある7番目の項目「7.Get XX 系関数は使えるかも!?」にサイズを取得するような関数がありました。

usami

Re:Dxlibで画面サイズの取得

#3

投稿記事 by usami » 16年前

ありがとうございます。
解決いたしました。
何分初心者なので、あまりものを知らないので、
初歩的な質問をしてしまったようですが、

http://studiokingyo.fc2web.com/dxlib/ka ... hiyou.html

教えていただいたURLの、1番初めの「1.Windowハンドルを得る」方法さえ分かれば、
あとは簡単だったみたいです。

RECT rect;
GetClientRect(GetMainWindowHandle(),&rect);

あとは、BEMANIさんのいわれるように、
7番目の項目「7.Get XX 系関数は使えるかも!?」の関数を利用するか、
rectのメンバを利用すれば
明示的に(300,240)のように、座標を指定しなくても、
キャラクターの配置が可能になるみたいですね。

お世話になりました。

閉鎖

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