#1
by 名無し » 5年前
グラフィックハンドルをLoadGraph,LoadSoundMem関数で出力させる際、全て-1が返り値となり、ハンドルが変数に渡せません。何かソースコードの問題点、考えられる原因等を教えて頂きたいです。尚、ファイル名やファイルの場所、拡張子には特に問題は見受けられませんでした。
ソースコード↓
コード:
#include "DxLib.h"
#include "SceneMgr.h"
#include "Keyboard.h"
#include "cstdio"
#include "cstdlib"
void set_handle(int menu_graph[64], int menu_snd[64], int game_graph[64], int game_snd[64], int config_graph[64], int config_snd[64]);
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
SetGraphMode(1920, 1080, 16);
SetMainWindowText("Tetris");
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); //ウィンドウモード変更と初期化と裏画面設定
int x, y, Mouse,end = 0;
double size = 1.0;
SetDrawArea(0,0,1919,1079);
int screen_x, screen_y;
int *p_sx, *p_sy;
p_sx = &screen_x;
p_sy = &screen_y;
int menu_graph[64]; //メニューの画像ハンドル
int menu_snd[64]; //メニューの音ハンドル
int game_graph[64]; //ゲームの画像ハンドル
int game_snd[64]; //ゲームの音ハンドル
int config_graph[64]; //コンフィグ画面の画像ハンドル
int config_snd[64]; //コンフィグ画面の音ハンドル
set_handle(menu_graph, menu_snd, game_graph, game_snd, config_graph, config_snd); //画像及び音のハンドルを格納
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0 && end == 0) { //画面更新 & メッセージ処理 & 画面消去 & 終了判定
ClearDrawScreen(); //画面上の画像をクリア
Keyboard_Update(); //キーボードの更新
Mouse = GetMouseInput(); //マウスの入力状態取得
GetMousePoint(&x, &y); //マウスの座標取得
end = SceneMgr_Update(menu_graph, menu_snd, game_graph, game_snd, config_graph, config_snd); //更新
SceneMgr_Draw(menu_graph, menu_snd, game_graph, game_snd, config_graph, config_snd); //描画
ScreenFlip(); //裏画面処理をした画像の表示(現在は画像なし)
}
InitGraph();
DxLib_End(); // DXライブラリ終了処理
return 0;
}
void set_handle(int menu_graph[64], int menu_snd[64], int game_graph[64], int game_snd[64], int config_graph[64], int config_snd[64]) {
/* メニュー */
menu_graph[0] = LoadGraph("画像/game_no.png");
menu_graph[1] = LoadGraph("画像/game_cursol.png");
menu_graph[2] = LoadGraph("画像/finish_cursol.png");
menu_graph[3] = LoadGraph("画像/finish_no.png");
menu_snd[0] = LoadSoundMem("サウンド/選択.wav");
menu_snd[1] = LoadSoundMem("サウンド/カーソル_メニュー.wav");
/* ゲーム画面 */
game_snd[0] = LoadSoundMem("サウンド/選択.wav");
game_snd[1] = LoadSoundMem("サウンド/カーソル_メニュー.wav");
game_snd[2] = LoadSoundMem("サウンド/色変え.wav");
game_snd[3] = LoadSoundMem("サウンド/設置.wav");
game_snd[4] = LoadSoundMem("サウンド/解除.wav");
game_graph[0] = LoadGraph("画像/game/I.png");
game_graph[1] = LoadGraph("画像/game/J.png");
game_graph[2] = LoadGraph("画像/game/L.png");
game_graph[3] = LoadGraph("画像/game/N.png");
game_graph[4] = LoadGraph("画像/game/O.png");
game_graph[5] = LoadGraph("画像/game/S.png");
game_graph[6] = LoadGraph("画像/game/T.png");
game_graph[7] = LoadGraph("画像/game/Z.png");
game_graph[8] = LoadGraph("画像/tab/edit-tab_cursol.png");
game_graph[9] = LoadGraph("画像/tab/edit-tab_no.png");
game_graph[10] = LoadGraph("画像/tab/play-tab_cursol.png");
game_graph[11] = LoadGraph("画像/tab/play-tab_no.png");
game_graph[12] = LoadGraph("画像/tab/edit_tab.png");
game_graph[13] = LoadGraph("画像/tab/edit_frame.png");
game_graph[14] = LoadGraph("画像/game/flame.png");
game_graph[15] = LoadGraph("画像/game/goal.png");
game_graph[16] = LoadGraph("画像/game/block_flame.png");
/* コンフィグ */
}
グラフィックハンドルをLoadGraph,LoadSoundMem関数で出力させる際、全て-1が返り値となり、ハンドルが変数に渡せません。何かソースコードの問題点、考えられる原因等を教えて頂きたいです。尚、ファイル名やファイルの場所、拡張子には特に問題は見受けられませんでした。
ソースコード↓
[code]
#include "DxLib.h"
#include "SceneMgr.h"
#include "Keyboard.h"
#include "cstdio"
#include "cstdlib"
void set_handle(int menu_graph[64], int menu_snd[64], int game_graph[64], int game_snd[64], int config_graph[64], int config_snd[64]);
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
SetGraphMode(1920, 1080, 16);
SetMainWindowText("Tetris");
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); //ウィンドウモード変更と初期化と裏画面設定
int x, y, Mouse,end = 0;
double size = 1.0;
SetDrawArea(0,0,1919,1079);
int screen_x, screen_y;
int *p_sx, *p_sy;
p_sx = &screen_x;
p_sy = &screen_y;
int menu_graph[64]; //メニューの画像ハンドル
int menu_snd[64]; //メニューの音ハンドル
int game_graph[64]; //ゲームの画像ハンドル
int game_snd[64]; //ゲームの音ハンドル
int config_graph[64]; //コンフィグ画面の画像ハンドル
int config_snd[64]; //コンフィグ画面の音ハンドル
set_handle(menu_graph, menu_snd, game_graph, game_snd, config_graph, config_snd); //画像及び音のハンドルを格納
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0 && end == 0) { //画面更新 & メッセージ処理 & 画面消去 & 終了判定
ClearDrawScreen(); //画面上の画像をクリア
Keyboard_Update(); //キーボードの更新
Mouse = GetMouseInput(); //マウスの入力状態取得
GetMousePoint(&x, &y); //マウスの座標取得
end = SceneMgr_Update(menu_graph, menu_snd, game_graph, game_snd, config_graph, config_snd); //更新
SceneMgr_Draw(menu_graph, menu_snd, game_graph, game_snd, config_graph, config_snd); //描画
ScreenFlip(); //裏画面処理をした画像の表示(現在は画像なし)
}
InitGraph();
DxLib_End(); // DXライブラリ終了処理
return 0;
}
void set_handle(int menu_graph[64], int menu_snd[64], int game_graph[64], int game_snd[64], int config_graph[64], int config_snd[64]) {
/* メニュー */
menu_graph[0] = LoadGraph("画像/game_no.png");
menu_graph[1] = LoadGraph("画像/game_cursol.png");
menu_graph[2] = LoadGraph("画像/finish_cursol.png");
menu_graph[3] = LoadGraph("画像/finish_no.png");
menu_snd[0] = LoadSoundMem("サウンド/選択.wav");
menu_snd[1] = LoadSoundMem("サウンド/カーソル_メニュー.wav");
/* ゲーム画面 */
game_snd[0] = LoadSoundMem("サウンド/選択.wav");
game_snd[1] = LoadSoundMem("サウンド/カーソル_メニュー.wav");
game_snd[2] = LoadSoundMem("サウンド/色変え.wav");
game_snd[3] = LoadSoundMem("サウンド/設置.wav");
game_snd[4] = LoadSoundMem("サウンド/解除.wav");
game_graph[0] = LoadGraph("画像/game/I.png");
game_graph[1] = LoadGraph("画像/game/J.png");
game_graph[2] = LoadGraph("画像/game/L.png");
game_graph[3] = LoadGraph("画像/game/N.png");
game_graph[4] = LoadGraph("画像/game/O.png");
game_graph[5] = LoadGraph("画像/game/S.png");
game_graph[6] = LoadGraph("画像/game/T.png");
game_graph[7] = LoadGraph("画像/game/Z.png");
game_graph[8] = LoadGraph("画像/tab/edit-tab_cursol.png");
game_graph[9] = LoadGraph("画像/tab/edit-tab_no.png");
game_graph[10] = LoadGraph("画像/tab/play-tab_cursol.png");
game_graph[11] = LoadGraph("画像/tab/play-tab_no.png");
game_graph[12] = LoadGraph("画像/tab/edit_tab.png");
game_graph[13] = LoadGraph("画像/tab/edit_frame.png");
game_graph[14] = LoadGraph("画像/game/flame.png");
game_graph[15] = LoadGraph("画像/game/goal.png");
game_graph[16] = LoadGraph("画像/game/block_flame.png");
/* コンフィグ */
}
[/code]