LoadGraphScreen関数を使用した際に、「エスケープ シーケンスとして正しく認識されませんでした。というエラーメッセージが表示されます。
入力したパスは「"C:\Users\wildn\OneDrive\画像\ゲーム制作用\背景 川.jpg"」です。
画像が表示できない
Re: 画像が表示できない
生文字列リテラルではない文字列リテラル中の \ はC++ではエスケープシーケンスとして解釈されるので、
\ を表すエスケープシーケンスの \\ を用いて とするといいかもしれません。
コンパイラが対応していれば、生文字列リテラルを用いて とも表現できます。
\ を表すエスケープシーケンスの \\ を用いて とするといいかもしれません。
コンパイラが対応していれば、生文字列リテラルを用いて とも表現できます。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
だめでした
//でも\ダメでした・・・
色々と説明が足りなかったので補足します。
https://dixq.net/g/01_04.html(新・ゲームプログラミングの館)を参考に書きました。パスの形が元のものと全然違うし、エラーを吐かずに実行できたけど画像が出力されなかったのでパスの書き方に問題があるのではと考えています。
画像ファイルは
.vs
pacages
x64
ゲーム用BGM
ゲーム用画像
Log.txt
pacages.config
夏休み製作.cpp
夏休み製作.sin
夏休み製作.vcxproj
夏休み製作.vcxproj.filters
夏休み製作.vcxproj.user
のゲーム用画像に格納してあります。
書いたプログラムは以下です。
色々と説明が足りなかったので補足します。
https://dixq.net/g/01_04.html(新・ゲームプログラミングの館)を参考に書きました。パスの形が元のものと全然違うし、エラーを吐かずに実行できたけど画像が出力されなかったのでパスの書き方に問題があるのではと考えています。
画像ファイルは
.vs
pacages
x64
ゲーム用BGM
ゲーム用画像
Log.txt
pacages.config
夏休み製作.cpp
夏休み製作.sin
夏休み製作.vcxproj
夏休み製作.vcxproj.filters
夏休み製作.vcxproj.user
のゲーム用画像に格納してあります。
書いたプログラムは以下です。
"#include "DxLib.h"
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
ChangeWindowMode(TRUE); //ウィンドウモードに設定
DxLib_Init(); //DXライブラリ初期化処理
SetDrawScreen(DX_SCREEN_BACK); //裏画面処理
char keys[256];
//画像の表示
int haikei; //画像をメモリにロードする
haikei = LoadGraph("C:Users\wildn\OneDrive\ドキュメント\DXライブラリ\KFIP\個人製作ゲーム\夏休み製作\ゲーム用画像\背景 川.jpg");
DrawGraph(320, 240, haikei, TRUE);
WaitKey();
/*BGMの設定
int bgm;
bgm = LoadSoundMem("魔王魂 ピアノ25.ogg");
PlaySoundMem(bgm, DX_PLAYTYPE_LOOP);*/
//構造体の作成
typedef struct{ //Ball型の作成
int x; //x座標
int y; //y座標
int r; //半径
int color; //色
}Ball;
//Ball型の変数ball
Ball ball = { 320,240,10,GetColor(255,255,255) };
//キーの動作
while (1) {
if (ProcessMessage() != 0) break;
ClearDrawScreen(); //画面に書かれたものを削除する
GetHitKeyStateAll(keys); //キーの入力を待つ
//円の描写
DrawCircle(ball.x, ball.y, ball.r, ball.color, 1);
//キーの動作
if (keys[KEY_INPUT_W]) {
if (ball.y > 0) {
ball.y = ball.y - 10;
}
}
if (keys[KEY_INPUT_A]) {
if (ball.x > 0) {
ball.x = ball.x - 10;
}
}
if (keys[KEY_INPUT_S]) {
if (ball.y < 480) {
ball.y = ball.y + 10;
}
}
if (keys[KEY_INPUT_D]) {
if (ball.x < 640) {
ball.x = ball.x + 10;
}
}
ScreenFlip(); //裏画面を表画面に表示
if (CheckHitKey(KEY_INPUT_ESCAPE) == 1) { //escキーで終了
break;
}
}
WaitKey(); //任意のキー入力を待つ
DxLib_End(); //DXライブラリ終了処理
return 0;
}
Re: 画像が表示できない
画像が表示されないのは、表示に反映される場所で画像を描画する処理を実行していないからであると考えられます。
より下、かつ
より上の部分に、画像を描画する処理
を入れてみてください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)