忍者ブログ

銀朱工房

クッソ初心者がダンジョンRPGを作成する パソコンって何ですかって人が頑張ってダンジョンRPGを作ったローという感じ クソゲーが出来上がる過程を報告って感じですね やった内容は右のカテゴリーから参照お願いいたします。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

大まかな構想

構想
・マップ移動有り(地図を選択するタイプね)
・戦闘有り
・ダンジョンはダンジョン探索型でウィザードリーみたいなやつにしよう
・シナリオを後足しできるように組む
・戦闘エフェクトとかも後足しできるようにする
・マップも後足し出来るようにする
・ダンジョンも後足しできるようにする

拍手[0回]

PR

Windowを表示する

やっとこさWindowを作ってみる

ウインドウ表示の流れとしては以下のようになります。
ウインドウクラスの登録

ウインドウクラスの生成

ウインドウの作成

ウインドウの表示

メデタシめでたし

もうちょっと詳細
ウインドウクラスを登録
typedef struct _WNDCLASS {
    UINT     style;          //ウィンドウのスタイル
    WNDPROC lpfnWndProc;    //ウィンドウプロシージャ
    int     cbClsExtra;     //補助メモリ
    int     cbWndExtra;     //補助メモリ
    HANDLE  hInstance;      //インスタンスハンドル
    HICON   hIcon;          //アイコン
    HCURSOR hCursor;        //カーソル
    HBRUSH  hbrBackground;  //背景ブラシ
    LPCTSTR lpszMenuName;   //メニュー名
    LPCTSTR lpszClassName;  //クラス名
} WNDCLASS;
設定したら

RegisterClass()関数にポインタを渡す
ATOM RegisterClass( CONST WNDCLASS *1pwc ); ここでウインドウクラスの作成

ウインドウの生成
HWND CreateWindow(
    LPCSTR lpClassName,LPCTSTR lpWindowName,
    DWORD dwStyle,
    int x,int y,int nWidth,int nHeight,
    HWND hWndParent,HMENU hMenu,
    HANDLE hInstance,LPVOID lpParam
);

ウインドウの表示
BOOL ShowWindow( HWND hwnd, int nCmdShow );

めでたしめでたし


拍手[0回]

文字列を扱う際にUnicodeを考える

要するに、PCTSTRを使った時に問題起こるってことかな

PCTSTRは define UNICODE されてりゃいいが
されてない時に使うと問題がおこる

型         |UNICODE定義 | !UNICODE定義
------------+---------------+--------------------------------
PCTSTR     |     PCSTR  |      PCWSTR
だから

これだけ宣言が違和感あるんですが

そういう時は TEXT()マクロを使う

#ifdef UNICODE
  だったときに先頭にLをつけてくれる
  ありがたいマクロです。

例:
TEXT("文字列")

拍手[0回]

Win32 Unicode考えたときの文字列型

Unicode系は考えんとこーとおもたが、そうはいかんようでる

    型         |UNICODE定義 | !UNICODE定義
------------+---------------+--------------------------------
TCHAR     |      WCHAR    |     CHAR
TBYTE      |      WCHAR    |     CHAR
PSTR        |   NULL終了で8bit文字列へのポインタ
LPSTR      |   NULL終了で8bit文字列へのポインタ
PCSTR      |   const修飾子のNULL終了で8bit文字列へのポインタ
LPCSTR    |   const修飾子のNULL終了で8bit文字列へのポインタ
PWSTR     |     NULL終了で16bit文字列へのポインタ
LPWSTR   |     NULL終了で16bit文字列へのポインタ
PCWSTR   |     const修飾子のNULL終了で16bit文字列へのポインタ
LPCWSTR |   const修飾子のNULL終了で16bit文字列へのポインタ
PTSTR       |   PWSTR    |      PSTR
PCTSTR     |     PCSTR   |      PCWSTR
LPTSTR     |     LPWSTR   |      LPSTR
LPCTSTR   |     LPCWSTR |      LPSSTR
------------------+
LはLong pointer のL 現OSを使ってる以上、意味はないそうな
とりあえず、LPSTR = PSTRと考えてもOKってことで進める
見た感じ、WはWORD
Pはポインタ
そう考えるとわかり安すぎる

拍手[0回]

プロフィール

HN:
ンメローン
性別:
男性
職業:
なんちゃってソフト屋さん
趣味:
いろいろある多趣味である
自己紹介:
寝るのが大好きなキモオタです。
しいていうなら、
ただの通りすがりのメロンみたいなものですよ

カレンダー

08 2024/09 10
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

ブログ内検索

フリーエリア

最新CM

[08/30 imitazione cartier anelli oro donna]
[02/17 kos3xnqd9v3]
[02/16 uem4paid3j2]

バーコード

コガネモチ

P R

ページ