HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
1004
jun3453execについて8未解決


jun3453

リンク

2012/10/4(Thu) 18:12:36|NO.49749

execを使い、c++とDxlibで作ったexeを起動しようと思ったのですが、
画像などがロードできていないらしいのです。
起動はするのですが、真っ暗なウィンドウが出るだけでした。
画像などを読み込むコードを入れたほうがいいのでしょうか?



この記事に返信する


甘酒

リンク

2012/10/4(Thu) 18:18:35|NO.49750

Dxlib側で画像を表示したexeがあって、それをexecで実行したが、画像が出ていない・・という事なのかな?
単純にDxlib側で画像を表示していないだけではないのか?

#include "Dxlib.dll" int Key[256]; int GetHitKeyStateAll_2(int GetHitKeyStateAll_InputKey[]){ char GetHitKeyStateAll_Key[256]; GetHitKeyStateAll( GetHitKeyStateAll_Key ); for(int i=0;i<256;i++){ if(GetHitKeyStateAll_Key[i]==1) GetHitKeyStateAll_InputKey[i]++; else GetHitKeyStateAll_InputKey[i]=0; } return 0; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode(TRUE);//ウィンドウモード if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化 while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){ //↑メッセージ処理   ↑画面をクリア     ↑入力状態を保存       ↑ESCが押されていない //ココ!! ScreenFlip(); } DxLib_End(); return 0; }
実行されるexeがこんな状態なら、画像はどうやっても絶対出ないはず。



jun3453

リンク

2012/10/4(Thu) 18:22:01|NO.49751

Dxlibを使用してゲームを作って、
リリースしたExeを起動しようと思ったのです。

//ココ
のところにはDrawGraphやLoadGraphはたくさんあるのですが・・。



甘酒

リンク

2012/10/4(Thu) 18:25:08|NO.49752

うーん、僕はDxLibはSTG作るぐらいしかやったことがないので詳しいことは分からないが、
Dxlibが正常に起動するのならば、execが問題だと思われ。
f1でヘルプを見ればいいと思う。



jun3453

リンク

2012/10/4(Thu) 18:36:07|NO.49753

ヘルプを見て、色々と方法を試したのですが、結局同じでした。

ウィンドウ名とウィンドウだけはちゃんと出るのですが、
やはり色々とロードできていないようです・・・。



てん

リンク

2012/10/4(Thu) 18:40:03|NO.49755

HSPとC++の両方のプログラムを貼ってもらえたら少しは解決するかもしれません。
我々もエスパーではないのでさすがにこの情報だけでは解決のしようが。



jun3453

リンク

2012/10/4(Thu) 19:00:39|NO.49758

そうですよね;すみません;


exec "C:〜〜〜〜〜.exe",0

のような簡単なものをHSPで作り、
c++のものは長くなるので短い別のもので。

#include "DxLib.h" int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ),ClsDrawScreen(); SetMainWindowText("3Dモデル表示") ; //タイトル SetBackgroundColor( 200, 200, 200 );//背景色 int ModelHandle ; while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){ Keyboard_Update(); //キーボード取得 //モデル座標 int mx = 1.0f; int my = 1.0f; int mz = 1.0f; // 3Dモデルの読み込み ModelHandle = MV1LoadModel( "model.mqo" ) ; // 画面に映る位置に3Dモデルを移動 MV1SetPosition( ModelHandle, VGet( 300.0f,-90.0f,600.0f ) ) ; MV1SetScale(ModelHandle,VGet(mx,my,mz)); // 3Dモデルの描画 MV1DrawModel( ModelHandle ) ; if(Keyboard_Get(KEY_INPUT_ESCAPE)==1)break; ScreenFlip();//裏画面を表画面に反映 } DxLib_End() ; return 0 ; }

3Dモデルを表示するものです。
これをexecで呼び出すと背景色しか写っていませんでした。



晩御飯

リンク

2012/10/4(Thu) 19:52:40|NO.49770

カレントディレクトリ変えてやらんとまずいんでないの



てん

リンク

2012/10/4(Thu) 19:57:05|NO.49771

カレントディレクトリを変えていないことが原因かと。
Cのソースの方に、モデルファイルの読み込みに成功したかどうか判定する行を追加してみてください。



ONION software Copyright 1997-2023(c) All rights reserved.