カーソルキーからの操作

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

カーソルキーからの操作

#1

投稿記事 by ほりでい » 4年前

コード:

#include<DxLib.h>

int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC) {
	int model1;
	VECTOR pos = VGet(600.0f, 300.0f, -400.0f);
	int key;

	ChangeWindowMode(TRUE);
	SetGraphMode(1200, 800, 32);
	if (DxLib_Init() == -1)return -1;

	//モデル読み込み
	model1 = MV1LoadModel("Player\\PC.mv1");
	if (model1 == -1) return -1;


	SetDrawScreen(DX_SCREEN_BACK);

	while(ProcessMessage()==0&&CheckHitKey(KEY_INPUT_KEY_ESCAPE)==0){
		//キー操作
		key = GetJoypadInputState(DX_INPUT_KEY_PAD1);
		if (key & PAD_INPUT_DOWN)	pos.z -= 4.0f;
		if (key & PAD_INPUT_UP)		pos.z += 4.0f;
		if (key & PAD_INPUT_LEFT)	pos.x -= 4.0f;
		if (key & PAD_INPUT_RIGHT)	pos.x += 4.0f;

		ClearDrawScreen();
		DrawBox(0, 0, 1200, 800, GetColor(255, 255, 255),TRUE);

		MV1SetPosition(model1, pos);
		MV1DrawModel(model1);

		ScreenFlip();
	}
	DxLib_End();

	return 0;
}
C言語 3Dゲーム プログラミング教室のソースコードなんですが、デバッグするとエラーはなく、画像は表示されますが、画像をカーソルキーで動かせません。何がいけないのか見当もつきません。
分かる方がいればどうか教えてください。!(>_<)

Math

Re: カーソルキーからの操作

#2

投稿記事 by Math » 4年前

Windows10、VisualStudio2019Community でテスト

下記のように置き換える

コード:

#include<DxLib.h>

int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC) {
	int model1;
	VECTOR pos = VGet(600.0f, 300.0f, -400.0f);
	int key;

	ChangeWindowMode(TRUE);
	SetGraphMode(1200, 800, 32);
	if (DxLib_Init() == -1)return -1;

	//モデル読み込み
	model1 = MV1LoadModel("Player\\PC.mv1");
	if (model1 == -1) return -1;


	SetDrawScreen(DX_SCREEN_BACK);

	while (ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0) { // KEY_INPUT_ESCAPE 置き換え
		//キー操作
		key = GetJoypadInputState(DX_INPUT_KEY_PAD1);
		if (key & KEY_INPUT_DOWN)	pos.z -= 4.0f;  // PAD_INPUT_DOWN  置き換え
		if (key & KEY_INPUT_UP)		pos.z += 4.0f;  // PAD_INPUT_UP    置き換え
		if (key & KEY_INPUT_LEFT)	pos.x -= 4.0f;  // PAD_INPUT_LEFT  置き換え
		if (key & KEY_INPUT_RIGHT)	pos.x += 4.0f;  // PAD_INPUT_RIGHT 置き換え

		ClearDrawScreen();
		DrawBox(0, 0, 1200, 800, GetColor(255, 255, 255), TRUE);

		MV1SetPosition(model1, pos);
		MV1DrawModel(model1);

		ScreenFlip();
	}
	DxLib_End();

	return 0;
}
実行結果
http://www2.koyoen.birdview.co.jp/~abcx ... -25-a-.PNG

注:解説にあるように
”入力
      2スティック・4ボタン以上のゲームパッドを推奨、キーボードでも操作可能( ただし操作が大変 )

です(^^;

ほりでい
記事: 15
登録日時: 4年前

Re: カーソルキーからの操作

#3

投稿記事 by ほりでい » 4年前

ありがとうございました。(>_<)うまくいきました。!!


返信

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