検索結果 111 件

by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: フラッシュゲームのコーディングで画像が読み込まれない
返信数: 4
閲覧数: 2778

Re: フラッシュゲームのコーディングで画像が読み込まれない

>DVDMさん
これです!!!
ああ、基準位置がswfファイル依存なんですね。
てっきりasファイルからだと思ってました。
画像読み込みに成功しました。
ありがとうございました。
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: フラッシュゲームのコーディングで画像が読み込まれない
返信数: 4
閲覧数: 2778

Re: フラッシュゲームのコーディングで画像が読み込まれない

ああ、すみません、画像名がおかしいですね。
sample.png、image.gif双方ともmain.asと同じフォルダにあります。
どちらを指定しても画像表示ができません。
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: フラッシュゲームのコーディングで画像が読み込まれない
返信数: 4
閲覧数: 2778

フラッシュゲームのコーディングで画像が読み込まれない

FlashDevelopでActionScript3.0を用いてフラッシュを制作しています。 以下コード全文です。 //main.as package { // Spriteクラスの読込 import flash.display.Sprite; // Loaderクラスの読込 import flash.display.Loader; // URLRequestクラスの読込 import flash.net.URLRequest public class Main extends Sprite { public function Main():void { // 読み込むパス swfと同階層のi...
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: 画像を読み込むだけでハンドルされない例外
返信数: 9
閲覧数: 5545

Re: 画像を読み込むだけでハンドルされない例外

お二人共ありがとうございました。
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: 画像を読み込むだけでハンドルされない例外
返信数: 9
閲覧数: 5545

Re: 画像を読み込むだけでハンドルされない例外

>Rittai_3D さん
起こりますね……。
どうやらコード自体の問題ではなく、外部的な問題のようです。


と思ったらやっと分かりました
datフォルダの他にdat.dxaをうっかり入れてしまったのが原因でした。
二重に画像があって混乱させたんでしょうね。

関係ないんですが、このバグ修正中にうっかりコピー前のコードを一部削除してしまったんですが、
visual C++に履歴機能はないんでしょうか……一回ウィンドウを消してしまったのでctrl+Zは使えません……。
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: 画像を読み込むだけでハンドルされない例外
返信数: 9
閲覧数: 5545

Re: 画像を読み込むだけでハンドルされない例外

>Rittai_3Dさん すみません。 入れ損なってました。 #include "../../../include/DxLib.h" //ループで必ず行う3大処理 int ProcessLoop(){ if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す return 0; } //ゲームの大きな枠組み int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPS...
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: 画像を読み込むだけでハンドルされない例外
返信数: 9
閲覧数: 5545

画像を読み込むだけでハンドルされない例外

#include "../../../include/DxLib.h" //ゲームの大きな枠組み int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){ ChangeWindowMode(TRUE);//ウィンドウモード if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化 int img_board; while(ProcessLoop()==0){/...
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibでoggを読み込み曲を流すと詰まったような曲になる
返信数: 6
閲覧数: 4407

Re: DXlibでoggを読み込み曲を流すと詰まったような曲になる

ほかの曲をいじっているうちに気付きましたが、
一部の曲だけChangeVolumeSoundMemで音量をいじっているがために
音割れが起きてしまっているのだと判明しました。

ご協力頂きありがとうございました。
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibでoggを読み込み曲を流すと詰まったような曲になる
返信数: 6
閲覧数: 4407

Re: DXlibでoggを読み込み曲を流すと詰まったような曲になる

namari さんが書きました:すみません。
追記ですが、例えば
http://classical-sound.seesaa.net/artic ... 00569.html
でダウンロードした「ジョプリン:イージー・ウィナーズ.mp3」などです。
すみませんが、これを再現できる方いますか?
自分以外のPCでも詰まる再現性があるならライブラリの都合ということで諦めもつくのですが……
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibでoggを読み込み曲を流すと詰まったような曲になる
返信数: 6
閲覧数: 4407

Re: DXlibでoggを読み込み曲を流すと詰まったような曲になる

[youtube][/youtube]

すみません。音声を録ってきました。
最初の方、あきらかにブツブツなってますよね。
スムーズに再生できていません。
mp3でも同様の現象が起こることを確認しました。

PCがビジーになると起こるような印象を受けました。


>amehiruneさん
ありがとうございます。
曲再生途中に雑音が入るんですよね・・・
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibでoggを読み込み曲を流すと詰まったような曲になる
返信数: 6
閲覧数: 4407

Re: DXlibでoggを読み込み曲を流すと詰まったような曲になる

すみません。
追記ですが、例えば
http://classical-sound.seesaa.net/artic ... 00569.html
でダウンロードした「ジョプリン:イージー・ウィナーズ.mp3」などです。
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibでoggを読み込み曲を流すと詰まったような曲になる
返信数: 6
閲覧数: 4407

DXlibでoggを読み込み曲を流すと詰まったような曲になる

mp4をoggに変換して、
oggファイルをLoadSoundMemで読み込み、
PlaySoundMemで流しています。

ここで、一部のファイルだけ、再生はできるのですが、
微妙に詰まったような、スムーズに再生できない状態になるんです。
oggファイルそれ自体を聞いてみてもこの現象はおきません。

なんとも質問が雲をつかむような問題ですが、
アドバイス等いただけたら幸いです。
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: MakeGraphで作った画像に透過色を指定したい
返信数: 8
閲覧数: 5036

Re: MakeGraphで作った画像に透過色を指定したい

>みけCATさん
>更新はできないのですか?

3.12b→3.16bで使えるようになりました!
便利ですね!
ただ、この関数、引数の取り方の理解に苦労してしまい、遅れました!
ありがとうございました。
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: MakeGraphで作った画像に透過色を指定したい
返信数: 8
閲覧数: 5036

Re: MakeGraphで作った画像に透過色を指定したい

>>tk-xleaderさん
内容的には完璧なんですが、今のDXlibにはないのか識別子が見つかりませんね・・・
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: MakeGraphで作った画像に透過色を指定したい
返信数: 8
閲覧数: 5036

Re: MakeGraphで作った画像に透過色を指定したい

>>ISLeさん
返信遅れましてすいません
MakeScreenでもかまいません

透過色を指定するというか、フォント部分のみの画像が作れればいいのですが……
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: MakeGraphで作った画像に透過色を指定したい
返信数: 8
閲覧数: 5036

MakeGraphで作った画像に透過色を指定したい

DXlibでは文字を傾けることができないために、 文字を書いたものを画像で保存して、その画像を傾けるという処理をとっています。 ここで、画像化した文字に背景色が入ってしまい非常に扱いにくいです。 void load_of_moziretu(char mozi[],int* c_handle,int color_num,int font_num){ SetTransColor( 0 , 0 , 0 ) ; *c_handle = MakeGraph( 300 , 30 ) ; DrawFormatStringToHandle(0,0,color[color_num],font[font_num]...
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の縦、横の長さの取得
返信数: 2
閲覧数: 1888

Re: 画像の縦、横の長さの取得

>>みけCATさん
おお!こんなぴったりの関数があったのですね。
ありがとうございました!
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の縦、横の長さの取得
返信数: 2
閲覧数: 1888

画像の縦、横の長さの取得

DrawGraphのように左上を基準にして
DrawRotaGraphのように拡大処理を行いたかったため、
そのような関数を作ろうとしました。
しかし、考える限り、画像の大きさを取得することが必須のように思われます。
画像の大きさの取得は何らかの関数でできるでしょうか。
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の半透明部分
返信数: 4
閲覧数: 3000

Re: 画像の半透明部分

>>MILLEさん
ありがとうございます。
あー簡単な操作ではできないんですね。
なるほどシェーダープログラミングですか。
3Dゲームに手を出すとき必要になりそうですね・・・。

とりあえず解決にしておきます。
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の半透明部分
返信数: 4
閲覧数: 3000

Re: 画像の半透明部分

>>Dixqさん わざわざ動画までUPしていただきありがとうございます。 GIMP2を初めてDLしたもので操作に手間取ってしまい、返信が遅れました。 (インデックスカラーからRGBにしていなくて操作を受け付けなかったのが問題でした。) http://dixq.net/forum/gallery/image.php?album_id=134&image_id=961&view=no_count こういう画像を作り、 http://dixq.net/forum/gallery/image.php?album_id=134&image_id=960&view=no_count それっぽいのが出来まし...
by namari
8年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の半透明部分
返信数: 4
閲覧数: 3000

画像の半透明部分

http://www.meetroid.com/wp-content/uploads/2013/01/0348.png 参照:http://www.meetroid.com/?p=167720&view=touch この画像のようなエフェクトを作りたいです。 おそらくぼんやりした丸を素材に、何かのブレンド(加算?α?)で描画しているんでしょう。 しかし、描画法も円の書き方も分かりません。 http://dl1.getuploader.com/g/namari2/90/effect1.png こういう画像を用意して試しに加算ブレンドで描画してみたら(左の青丸) http://download1...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibにおけるBMPファイルの読み込み
返信数: 3
閲覧数: 2731

Re: DXlibにおけるBMPファイルの読み込み

>みけCATさん
>特定のBMPの形式に依存しているようですが、読み込もうとしているBMPファイルは本当にその形式ですか?
>素直にLoadSoftImage関数で読み込み、GetPixelSoftImage関数で色の情報を取得した方がいいのではないでしょうか?

こんな便利な関数があったとは・・・!
できそうです!ありがとうございました。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: DXlibにおけるBMPファイルの読み込み
返信数: 3
閲覧数: 2731

DXlibにおけるBMPファイルの読み込み

白黒BMP画像を読み込み、座標ごとの黒い点のあるなしを配列に入れて、当たり判定として利用したいです。 http://dixq.net/rp/54.html を参考にして、行なっていたのですが、うまく読み込まれません。 おそらく、freadではなくFileRead_readを使っているせいだと思うのですが、 DxaEncodeを使うため、ファイル入出力にはDXlibで行いたいです。 最終結果として、Pixelにhantei0.bmpの全ての点情報が入っていれば成功ですが、 実際はoutput.pngのように表示されてしまいます。 画像サイズは512*512です。 //GV.h /* 2値化した情...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: windows apiでクリックできる画像の作り方
返信数: 5
閲覧数: 3474

Re: windows apiでクリックできる画像の作り方

すみません!もっと探したらありました。
GetCursorPosで取得した後、ScreenToClientでクライアント座標に変換すればいいだけですね。
ご回答有難うございました。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: windows apiでクリックできる画像の作り方
返信数: 5
閲覧数: 3474

Re: windows apiでクリックできる画像の作り方

>みけCATさん >YuOさん 迅速な回答ありがとうございます。 個人的に描画しないボタンを作って、同じサイズの画像を貼り付けるような動作を考えていましたが、明らかにこちらの方がやりやすいですね。 100以上の座標数があることを考えると、大量のボタンウィンドウの生成が大変そうなので、WM_LBUTTONUPの方法がベストでしょうね。 しかし、マウスカーソルの座標取得方法が分かりません。 GetCursorPosでスクリーン座標(画面左上が0,0)を取得できるのは検索してわかりましたが、 クライアント座標(フォーム左上が0,0)の取得の仕方が分かりません…。 vb.netなら講座が見つかるのです...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: windows apiでクリックできる画像の作り方
返信数: 5
閲覧数: 3474

windows apiでクリックできる画像の作り方

自作しているゲームのマップチップ配置ツクールを制作するためにwindows apiに手を出しました。 そこで、ある座標をクリックした後、分割マップチップ画像をクリックして、その座標にマップチップを配置するという一般的な作業を行おうと思っています。 ここで、ある画像をクリックしたことを認識することが必要です。 画像を配置すること(WM_PAINTで読み込んだ画像を描画する)、ボタンを配置すること(WM_CREATEでウィンドウを作り、WM_COMMANDで処理する)はできますが、 クリックできる画像の作り方が分かりません。 環境はVisual C++で、新規Win32アプリケーションからスタート...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: DrawRotaGraph2で円左側を表示
返信数: 4
閲覧数: 3350

Re: DrawRotaGraph2で円左側を表示

Tatu さんが書きました:右側の文字を描画するときは
画像の左側を基点として回転させているようなので

左側の文字を描画するときは
画像の右側を基点として回転させるようにしてみてはどうでしょうか。
なるほど!こんな簡単な事だったとは・・・。
Angleの仕様を勘違いしていました。ありがとうございました!
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: DrawRotaGraph2で円左側を表示
返信数: 4
閲覧数: 3350

Re: DrawRotaGraph2で円左側を表示

softya(ソフト屋) さんが書きました:リファレンスを見て頂くと分かりますが、左右反転可能なDrawRotaGraph3があります。これで左右でセンターポイントの変更などで対応できると思います。
左右反転ならDrawRotaGraph2にもありますけど、左右反転のみでこれって可能なんでしょうか・・・。
左側にするためにangleをPI+なんとかにするせいでどうしても文字がひっくり返ってしまうんですが・・・。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: DrawRotaGraph2で円左側を表示
返信数: 4
閲覧数: 3350

DrawRotaGraph2で円左側を表示

http://dixq.net/forum/gallery/image.php?album_id=134&image_id=861&view=no_count これは for(i=0;i<3;i++){ DrawRotaGraph2(40,240,-300,15,1.3,customize_select_angle+(angle_cnt-customize_select_num)*OTHER_CUSTOM_ANGLE,char_img[i],TRUE);//char_img[i]は文字を画像化して取り込んだもの } で簡単に表現できるんですが、 左右を反転したものが全く上手く行きません。 h...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: 関数ポインタで二重配列らしきものを作る
返信数: 5
閲覧数: 2896

Re: 関数ポインタで二重配列らしきものを作る

>>みけCATさん
なるほど!最後の対策みたいなものが必要だと思っていたのですが、
最初のように{}で囲めば次の行に進めるんですね!
てっきり初期化の際には最後まで埋める必要があるのかと思っていました・・・。

また最後の方法も勉強になりました。さらにポインタを取ればいいんですね。
今まで全く考えてなかった関数ポインタも新たに使えるようになっていけそうです。ありがとうございました。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: 関数ポインタで二重配列らしきものを作る
返信数: 5
閲覧数: 2896

Re: 関数ポインタで二重配列らしきものを作る

「らしきもの」ではなく、本物の二重配列ではいけないのですか? //略 すみません。条件が足りてなかったみたいです。 #define DANMAKU_MAX 50 void (*boss_shot_bullet0[DANMAKU_MAX])() = { boss_shot_bulletH000, boss_shot_bulletH001, boss_shot_bulletH003, }; void (*boss_shot_bullet1[DANMAKU_MAX])() = { boss_shot_bulletH004, boss_shot_bulletH006, }; void (*boss_...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: 関数ポインタで二重配列らしきものを作る
返信数: 5
閲覧数: 2896

関数ポインタで二重配列らしきものを作る

http://dixq.net/rp/24.html のように、 void (*boss_shot_bullet[DANMAKU_MAX])() = { boss_shot_bulletH000, boss_shot_bulletH001, }; boss_shot_bullet[boss.knd] というものを、stageごとに作るために、 void (*boss_shot_bullet0[DANMAKU_MAX])() = { boss_shot_bulletH000, boss_shot_bulletH001, }; void (*boss_shot_bullet1[DANMAKU_MA...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の読み込み(LoadGraph)について
返信数: 6
閲覧数: 3611

Re: 画像の読み込み(LoadGraph)について

後半だけ。
LoadGraphはcharを読み込んでいるので,

コード:

char hoge[64];
for(i=0;i<100;i++){
    sprintf(hoge,"Graphic\\%d.png",i);
    hd[i]=LoadGraph(hoge);
}
こんな感じでしょうか。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: エクセルで文字列読み込み
返信数: 6
閲覧数: 3151

Re: エクセルで文字列読み込み

すみません。最初に >happening[happ_num].message[1]以降で明らかに読み込み場所がずれているので、 と書きましたが、これは別の問題でした。一行読み込みを終えるのを if(num==18){ num=0; n++; } のままにしていました。 自分の変数数と同じにしたらズレはなくなりました。 文字読み込みの文字化けもなくなりました・・・。 ズレのせいで読み込み位置がおかしかったのでしょう。 文字列の苦手意識のせいかかなり視野が狭まっていたようです。 みけCATさんありがとうございました。 >内容はDXライブラリ(と推測)でCSVファイルを読みこむ話なのに、 >タイトル...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: エクセルで文字列読み込み
返信数: 6
閲覧数: 3151

Re: エクセルで文字列読み込み

>>みけCATさん
>また、問題の切り分けのために、半角(ASCIIに含まれる)文字のみのメッセージでテストしてみてください。

半角文字だけの文字列では読み込まれました!
ユニコードが読めてないんですかね。
文字列のどこかでセルが終了したと誤って読まれてしまっていたとかでしょうかね・・・
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: エクセルで文字列読み込み
返信数: 6
閲覧数: 3151

Re: エクセルで文字列読み込み

みけCAT さんが書きました:文字化けする原因はまだよくわかりませんが、とりあえず本番のコードではきちんとsprintfの後にbreak;を入れていますか?
あと、この場合はsprintfではなくlstrcpyAを使えばいいと思います。
あっbreak;は入ってます。コピーし損ねてましたね。

コード:

case 0: lstrcpyA(happening[happ_num].message[n].mess,inputc);         break;
こうしてみましたが結果は変わらなかったです・・・。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: エクセルで文字列読み込み
返信数: 6
閲覧数: 3151

エクセルで文字列読み込み

http://dixq.net/rp/11.html を参考に会話イベントをすべてCSVの中に収めたいです。 そのために、上記のアドレスを改変して、以下のように書いたところをデバッガで確認すると、 文字化けした文字列しか取得できていません。 //load.cpp (これより前は貼ったアドレスのまま) switch(num){ case 0: sprintf(happening[happ_num].message[n].mess,"%s",inputc); case 1:... //struct.h typedef struct{ char mess[MESS_MAX];//メッセージ本体 (そ...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: 全角の文字列を指定文字数で2つの文字列に分割する。
返信数: 11
閲覧数: 7521

Re: 全角の文字列を指定文字数で2つの文字列に分割する。

すみません。トップページで解決表示になってませんね。かずまさんの返信での解決は解決扱いにならないのでしょうか。
解決です。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: 全角の文字列を指定文字数で2つの文字列に分割する。
返信数: 11
閲覧数: 7521

Re: 全角の文字列を指定文字数で2つの文字列に分割する。

char→wchar_tの変換が文字化けで上手くいかず、 setlocale(LC_CTYPE, "") を実行していないからありませんか? 実はデザインの都合上、3つに分ける必要があることに気付いてしまいました。 それぞれに分割する文字数を設定して、3つに分ける関数です。 指定した文字数に相当するバイト数を返す関数を用意すればよいのでは? //コード略 まず、setlocaleの挿入でうまくいきました。 mbstowcsの説明を検索すると大概ちゃんと置かれているのに完全にスルーしてしまいした。 3つに分けるコードはうまくいきました! 非常に明快に書いてくださったおかげで、すっと理解出来まし...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: 全角の文字列を指定文字数で2つの文字列に分割する。
返信数: 11
閲覧数: 7521

Re: 全角の文字列を指定文字数で2つの文字列に分割する。

皆さん有難うございます。 文字コードを指定していないせいで色んな可能性を作ってしまった感がありますね。すみませんでした・・・。 「環境」 Windows 7 Shift-JIS (これはusaoさんのコードでバグが出なかったことから恐らく自分はShift-JISで書いているんだろうなという予測だけで、正式に確認したわけではないです。 「マルチバイト文字セットを使用する」というプロジェクトの設定は関係あるのでしょうか?) .cppですが主にC言語で表記。 VC++ 2013です。(FrameworkのバージョンがXPに対応していないので、いずれVC++のバージョンを下げる可能性があります) ch...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: 全角の文字列を指定文字数で2つの文字列に分割する。
返信数: 11
閲覧数: 7521

全角の文字列を指定文字数で2つの文字列に分割する。

例えば、message"1234567891011121314"のような文字列があったとして(全角半角混合)、 これを指定文字数(例えば7)で分割して、mess1の"1234567"とmess2の"891011121314"に分割したいです。 また、指定文字数が30(実際の文字数より大きい)の時は、mess1に"1234567891011121314"、mess2に""(空っぽ)が入るような関数がほしいのです。 _tcsncpy_sを使う方法は前半は抜き出してmess1に入れても、mess2の方法は分からず、 mess2を右からの文字数で抜き出そうとしても、文字列が短すぎると、mess1とme...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

プロジェクトのプロパティに実行時のカレントディレクトリを変更する機能はあります。 なにもしない場合は、プロジェクトファイルが置かれている所がカレントになります。 残念ながらVC++のディレクトリを変更しても効果がなく、仕方ないのでミスの無いよう一括置換して、相対パスをあわせました。 (配布時にexeの置き方が少し変になるかもしれませんが・・・) デバッグが通ったので、ウィンドウを最小化したところ、全く落ちませんでした! DXライブラリが最新版じゃなかった、というかあまりに古すぎたのが原因でした。 環境設定が苦手なせいで余計手間取った感はありますが、これにてウィンドウの最小化で落ちてしまう問題...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

過去ログで自分が返答したのに答えがありました。 「ビルドが止まってしまう • C言語交流フォーラム ~ mixC++ ~」 http://dixq.net/forum/viewtopic.php?f=3&t=14870 SDKチェックをオフにすることで全てのエラーが警告に変わって、デバッグが通りました! 問題に次ぐ問題で申し訳ないのですが、 DXライブラリを最新版にする過程で、上手く設定できないことを解決するため、一度最初からプロジェクトを作って、 そのプロジェクトに手作業でコードを埋め込むというなんとも原始的な方法を取りました。 そのせいで、カレントディレクトリ(?)が変わったのか、相対パ...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

softya(ソフト屋) さんが書きました:失礼雑でしたね。
プロジェクトのプロパティのC/C++のプリプロセッサのプリプロセッサ定義に
;_SCL_SECURE_NO_WARNINGS
を書き加えてみてください。前のものは消さないように。
駄目みたいです。
同様のエラーが出ます。
そもそもDXlibを最新版にして初めてこのエラーが出ました。
これはDXライブラリじゃなくてVisualC++からの警告だと思っていたのですが・・・。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

softya(ソフト屋) さんが書きました:プロジェクトの追加オプションにこれを加えてみては?
-D_SCL_SECURE_NO_WARNINGS
すみません。プロジェクトの追加オプションとはなんでしょうか・・・。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

softya(ソフト屋) さんが書きました:それは警告でエラーではないので無視です。よく分からない人が使っても安全性がさほど増すわけではありません。
errorとして表示されるので、デバッグが通らないんですよね。
自分も今までwarningとして出てきた時はずっとスルーしてきたのですが、
今回エラーとして出てきてしまったので・・・
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

中々上手く行かなかったので、公式の最新版導入の経路を最初っから順にやっていって、 そのプロジェクトに元あったプロジェクトを手作業で入れることにしました。 まだ、デバッグできないので最新版で実行できるかどうかもバグが直っているかどうかも不明なのです。 というのも エラー 103 error C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online ...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

log.txtで確認した所バージョンがVer3.04dになっていました! 最新版に全くもって移行出来ていなかったようです。 これが原因ですね。 しかし、 http://dixq.net/g/h_01.htmlを参考に最新版を入れたフォルダをC直下に置いて、デバッグをすると、 error LNK2019: 未解決の外部シンボル _WSAStartup@8 が関数 "int __cdecl DxLib::InitializeNetWork(struct HWND__ *)" (?InitializeNetWork@DxLib@@YAHPAUHWND__@@@Z) で参照されました。 のようなエラー...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

大昔のDXライブラリに最小化すると落ちるというバグが合ったのを思いだしました。バージョンは新しいですか? あとnamariさんのプログラムに問題が有る可能性が捨て切れませんので別プロジェクトを作ってLoadDivGraphなど最小限にしてテストしてみてください。 他の部分の影響を受けている可能性があります。 本当に最低限にしてみました。 この状態でも最小化、再表示でおちます。 以下のプログラムで全てです。 //main.cpp #define GLOBAL_INSTANCE #include "../include/GV.h" //ループで必ず行う3大処理 int ProcessLoop()...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

softya(ソフト屋) さんが書きました:effect1.png自体に問題が有るかもしれません。
たまに破損しているとか、圧縮に問題が有るpngがありますので。
何も描いてない画像に差し替えても落ちるんですよね…。
何も描いてない画像はペイントソフトで作ってるんですが、これが破損しているようなことは無いと思いたいです。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

void load(){ int i,j,number; number=0; number++; //1 LoadDivGraph( "dat/img/effect/effect1.png" , 5 , 5 , 1 , 64 , 64 , img_effect[1] ) ; } これだけで落ちますね。LoadDivGraphの問題だと思われます。 effect1.pngは320*64の画像で、320*64の何も描いてない画像に差し替えても落ちますが、 effect1.pngを消すと、ロードに失敗して、img_effectの中には何も入っていない変わりに、最小化によっておちることは無くなります。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

さらに問題を小さくしました。 effectを1つ読み込んだだけでも落ちます。 ここまで縮めてもまだ意味が分からないというのが実情です。 //main.cpp #define GLOBAL_INSTANCE #include "../include/GV.h" #include "../include/first.h" #include "../include/resource.h" #include <crtdbg.h> #ifdef _DEBUG #ifndef DBG_NEW #define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

メモリーリークではなくてバッファオーバーランでしょう。 かなり重くなりますが、 _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_CHECK_ALWAYS_DF); で検出できる場合があります。 _CRTDBG_CHECK_ALWAYS_DFに変えても変化はないですね。 バッファオーバーランじゃない可能性があるかもしれないですが・・・ そもそも一部を消さない場合、たとえ落ちなかった場合も、 最小化して再びウィンドウを開くのに10秒ぐらいかかることがあるのですが、 これは明らかに正常じゃないですよね。 まあこの問題も上記のコードを除くことでなくなるんで...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

sound_se0や50以降を読み込んでいないのにChangeVolumeSoundMemしているのは気になるぐらいでしょうか。 あとは LoadDivGraph( "dat/img/suuji12x24.png" , 98 , 13 , 7 , 12 , 24 , img_suuji ) ; 数があっていないとか。 これらもテーブル化して極力省力化すれば防げそうな問題ですね。 そうですね。今作は色々冗長なコードだらけなので、テーブル化も含めて綺麗に書く必要がありそうです。 指摘してくださった部分を変更してもバグはなくなりませんでした。 もしかして、メモリリークは別の部分で起きているのでしょ...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

メモリ侵犯って聞いたこと無いけど有名な用語なのでしょうか? 検索でも引っかかりません。 独自用語は質問では使われないほうが良いと思います。 さて、ご質問の件ですがぱっと見には問題無さそうに見えます。 読み込み情報をテーブル化すれば楽そうな処理かなとは思いますが。 メモリリークですかね。次から気を付けます。 問題ないですか・・・ もう一度試してみましたが、しつこくなんども最小化するとeffect画像読み込み部分を消しても落ちることがありました。 頻度はかなり下がるのですが、ここ以外に原因があるということですね。 以下は次に怪しい所というべきでしょうか。 「以下のコード+前述のeffect画像読...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

Re: ウィンドウを最小化すると落ちてしまう。

まあ雲をつかむような質問でしたので返信が来ないのもしょうがないですね・・・。 あれから「とにかくコードを大雑把に消して、バグが出るか出ないかで場所を特定していく」ような形で原因を見つけました。 例えば、 load_main();←こちらを消す。バグが出なくなったら、この関数が原因。まだ出たならばfirst_iniが原因。 first_ini(); のような感じです。もしかしたら常套手段なのかもしれませんが今初めて思いついたので・・・。 しかし、特定は出来たのですが、結局どの表記がおかしいのか分かりません。 やはりメモリ侵犯だと思うのですが… 以下がバグの直接の原因となっていると同定された部分で...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを最小化すると落ちてしまう。
返信数: 30
閲覧数: 10395

ウィンドウを最小化すると落ちてしまう。

一度最小化して、再びウィンドウを開くと、再び開いた瞬間に重くなって、 直ぐに動作を停止してしまいます。 プロセス処理の部分で-1を返しているのですが、これは一体何を意味するのでしょうか。 このエラーはループのどの段階で行なっても起きます。最小化すると確実に落ちます。 //ループで必ず行う3大処理 int ProcessLoop(){ if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す ここで-1を返して落ちてしまう。 if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す GetHitK...
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: Visual C++2013のインテリセンスの更新が遅い。
返信数: 1
閲覧数: 5024

Re: Visual C++2013のインテリセンスの更新が遅い。

しょうがないので、
ツール→オプション→テキストエディター→C/C++→詳細→自動更新の無効化
で、手動更新に切り替えました。
代わりにリアルタイムバグチェックも無くなりますが、まあ妥協ということで・・・。
自己解決です。
by namari
9年前
フォーラム: C言語何でも質問掲示板
トピック: Visual C++2013のインテリセンスの更新が遅い。
返信数: 1
閲覧数: 5024

Visual C++2013のインテリセンスの更新が遅い。

自分の作った変数、関数をうろ覚えでも出せるので、
インテリセンスが大好きなのですが、最近問題が発生してしまいました。
コード途中に突然、「ソリューションのファイルを解析しています…」と表示され、
数分間インテリセンスが使えなくなってしまいます。
やっと解析が終わったと思ったら、また数分後に解析を始めます。
かなりコードが長くなったのが原因なのか知りませんが、この問題をなんとか解決したいです。

最も理想的なのは、更新がすぐ反映されて、いつでもインテリセンスが使える状態ですが、
せめて手動更新に変更する方法をお教え頂きたいです。
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: Visual C++でタイトルバー左のアイコンを設定できない。
返信数: 1
閲覧数: 2589

Visual C++でタイトルバー左のアイコンを設定できない。

http://dixq.net/forum/viewtopic.php?f=3&t=2403 を参考にしながら、アイコンを設定してみました。 //resource.h #define IDI_ICON1 102 #define IDI_ICON2 103 //resource.h #include "resource.h" IDI_ICON1 ICON "dat/img/icon.ico" IDI_ICON2 ICON "dat/img/icon2.ico" //main.cpp #include "../include/resource.h" int WINAPI WinMain(HINST...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: どうしても表示できない文字がある
返信数: 12
閲覧数: 10756

Re: どうしても表示できない文字がある

SJIS に於いて "法" は、0x9640 の2バイトで構成されます。 改行の印として使用している "@" は、0x40 ですので、 "法" の2バイト目が、sprintf() 関数に続く strtok() 関数にて切り分けられている為に起きているようですね。 改行の印には、素直に '\n' 辺りを使うと恐らく幸せになれるでしょう。 おー、なるほど! 全く思いもよりませんでした。 \nで代用しました。 わざわざ表示できる文字を潰して採用するメリットを教えて欲しいです。 ちなみにこれは、drawformatstringそれ自体で\nを入れて改行しても描画してくれないので、 一から改行作業をす...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: どうしても表示できない文字がある
返信数: 12
閲覧数: 10756

Re: どうしても表示できない文字がある

再現できるコードを書いてもらえますか。 すみません。 message_add(0,ch.name,"魔法攻撃!@",enemykind[enemy[j].kind].name,"は",dam_char[i],"のダメージを受けた");//@は改行の印。 void message_add(int icon,char id[],char message1[],char argument1[],char message2[],char argument2[],char message3[]){//アイコンの画像番号、名前、メッセージ1,受け取る引数、メッセージ2・・・ char *tp; int ...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: どうしても表示できない文字がある
返信数: 12
閲覧数: 10756

どうしても表示できない文字がある

drawformatstringを使って文章を描画しているのですが、
例えば「魔法使い」と書くと、「魔・」と表示されます。
デバッガで止めて確認して言ったところ「魔法使い」をいれたcharで「文字列中に無効な文字があります」と赤文字で警告されていました。
つまり「法」が無効な文字なのでしょうが、一体表示させるにはどうしたらいいのでしょうか。
フォントは特に変えていません。
この無効な文字はある特定の文字限定で起こるようです。
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: メモリの節約の仕方とロード時間の短縮
返信数: 7
閲覧数: 4708

Re: メモリの節約の仕方とロード時間の短縮

結果としていうと、ロード時間は5秒までに収まって、 メモリも200MB弱以下までは減らせました。 メモリは目標に到達していませんが、十分であると見て解決とします。 音楽は新しく流すたびに読み込みました。(一瞬で終わります。) 画像は完全に1つの画像セットのせいでした。 場所合わせが面倒くさいということで作っていた3000*3000ぐらいのほぼ透明処理されたマップ画像を複数読み込んでいたのですが、 この画像自体は大した容量を持たないのですが、 たとえ10KBのスッカスカで大きな画像でも、それ1つで100MB近くのメモリをとっていました。 改善策として、場所合わせの苦労はありましたが、 使う場所だ...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: メモリの節約の仕方とロード時間の短縮
返信数: 7
閲覧数: 4708

Re: メモリの節約の仕方とロード時間の短縮

usaoさんありがとうございます。 音楽は毎度読み込む方針でぐっとメモリは減りました。恐らくロード時間も減っていると思います。 画像もこの方針でいくらか削れそうです。 ただ実験でわかったんですが、曲一個に10MB以上のメモリを使います。 画像はまだ分かりませんが、 そもそもウィンドウを出すだけ(while(ProcessLoop()==0){の行に初めて入った瞬間で) 既に40MBも使っています。 世のゲームは明らかに100MBのラインはクリアしているのですが、 一体どういうことでしょう。 何か恐ろしい勘違いを自分がしている気がしてならないのですが、 少なくともこの最初の40MBはあって当たり...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: メモリの節約の仕方とロード時間の短縮
返信数: 7
閲覧数: 4708

メモリの節約の仕方とロード時間の短縮

今までは簡単かつ小規模なものしか作ったことなかったので初めてぶち当たる壁なのですが、 メモリとロード時間をあまりにも取り過ぎてしまいます。 タスクマネージャーを起動してみると、衝撃の1GBかつロード時間が20秒という体たらく。 実験の結果、画像に関してはメモリは画像の縦横のピクセル数に比例する、 ロード時間は実験が難しいのですがおそらく画像の容量(何バイトか)に比例すると推測しましたが合ってるでしょうか? またこの場合、節約の仕方なのですが、 メモリのために画像のピクセル数を小さくして、描画時に数倍にする、 ロード時間のために画像の容量を下げるってことでいいんでしょうか。 また音楽の場合は検討...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: N次元の半径1の体積を求める c++
返信数: 17
閲覧数: 7432

Re: N次元の半径1の体積を求める c++

まずエラーが出る明らかな間違いに関して・・・、 >x[m] ここですね。mが初期化されていないので、環境依存で滅茶苦茶な数字が入ってます。 まず、[]に関してですが、これは配列というものです。 int x[a] と宣言したら、x[0]からx[a-1]までをそれぞれ変数として使えるようになります。 中身を見ると、x とは(x[0]のデータが入ってるアドレス+b)の中の数値を表しています。 つまり、 x[0] アドレス100番 x[1] アドレス101番 x[2] アドレス102番 x[b] アドレス100+b番 ってなところでしょうか。 まあ、配列なんかはあちこちに説明がありそうなので、検索にか...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: PCは一体一瞬の間にどれほどの処理を行えるのか。
返信数: 10
閲覧数: 5231

Re: PCは一体一瞬の間にどれほどの処理を行えるのか。

>taketoshiさん なるほど・・・これで少なくともtaketoshiさんのPCで30fpsのゲームをするとして、 x++;の処理に関しては30億回:5秒 30億回:150フレーム 2000万回:1フレームというわけで、 2000万回以下までは問題なくできそうになるわけですね。 しかし、taketoshiさん、softya(ソフト屋)さんの仰る通り、いくつもの要素で左右されるようですね。 結論としては、要求する最低スペックのPCで、今回行なう作業に関するtaketoshiさんのようなテストを行ない、(x++;を行う処理を他の処理に書き換えて) 上記のような計算から、大丈夫そうな回数の見積も...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: PCは一体一瞬の間にどれほどの処理を行えるのか。
返信数: 10
閲覧数: 5231

Re: PCは一体一瞬の間にどれほどの処理を行えるのか。

>softya(ソフト屋) さん
止まるというのは表現がおかしかったですね。
1フレームで処理しきれないことによる処理落ちがなかったんです。
(本当は少しあったのかもしれませんが、反射神経の問題で捉えられませんでした。
まあそれほど一瞬だったという意味です。)
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: PCは一体一瞬の間にどれほどの処理を行えるのか。
返信数: 10
閲覧数: 5231

PCは一体一瞬の間にどれほどの処理を行えるのか。

なんだかふわっとした質問で申し訳ありません。 今回は現在のところそこまで困っていないのですが、興味と後学のためにお願い致します。 #define WIDTH 55 #define HEIGHT 35 for(i=0;i<=(HEIGHT-2)*(WIDTH-2);i++){//ここの処理すごく大きい。(初期設定でだいたい300万回中身を処理する) for (m=0; m<=HEIGHT-1; m++) { for (n=0; n<=WIDTH-1; n++) { if(last_block[m][n]==2){ if(last_block[m+1][n]==1){last_block[m+1]...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: ブルースクリーンになりうるゲーム
返信数: 9
閲覧数: 4583

Re: ブルースクリーンになりうるゲーム

困ったことに関係ないだろうバグをいくつか修正したところ、
一緒に消えてなくなってしまいました。

・フォントハンドルを多重に読み込んでいたこと。
・プロセスが消しても消えずに残っていたこと。

ぐらいが修正点なんですが、
そもそもどちらも初回起動時には問題にならない部分なので
初回起動時に落ちた人もいることを考えると怪しいものです。
しかし報告が一切なくなったのでここで一応解決ということにしておきます。
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: ブルースクリーンになりうるゲーム
返信数: 9
閲覧数: 4583

Re: ブルースクリーンになりうるゲーム

>>ISLeさん デバイスを操作する関数というものがいまいちどういう関数なのか把握できません。 検出ツールは実質不可能なんですね。分かりました。 >>へにっくすさん + windows 7 Home Premium/service pack 1 vc++は2008 Express Edition SP1 とこんな感じでしょうか。 プレイヤーたちは起動はできていました。 全く落ちることなく快適にプレイしてる人や短期間に2連続で落ちる人などいました。 今思い出してみると、開発中に一度だけ落ちたことがありました。 かなり昔で、一回しか起こらなかったのですが、もしかしたら当時から致命的なミスがあったの...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: ブルースクリーンになりうるゲーム
返信数: 9
閲覧数: 4583

Re: ブルースクリーンになりうるゲーム

>>ISLeさん >渡すパラメータは正しいか 関数に渡す定数のことですよね。実はいくつか 「'float' から 'int' への変換です。データが失われる可能性があります。」のような警告は受けてますが、 問題ではないと思い全て放置してきました。これってバグになるものなんでしょうか。 ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― アドレス侵犯に関して質問です。 この件に関して、僕のコードはほとんどポインタを使わず、(少数ありましたが全てバグがないことを確認済み) 動的配列は一切使って...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: ブルースクリーンになりうるゲーム
返信数: 9
閲覧数: 4583

Re: ブルースクリーンになりうるゲーム

>>3D_3Dさん イベントビューアですか。 落ちたのなら『管理イベント』にエラーが表示されるといったものでいいんでしょうか。 やはりアドレス関連が問題になりがちですかね。 ちなみに、ゲームは2Dのシレン系のローグライクです。 DXLIBとC言語を使いVC++で作成してます。 >>へにっくすさん Processor: Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz (8 CPUs), ~2.8GHz Memory: 4096MB RAM Card name: NVIDIA GeForce GTS 250 メモリ合計:2031MB こういうスペックをお願いすればいい...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: ブルースクリーンになりうるゲーム
返信数: 9
閲覧数: 4583

ブルースクリーンになりうるゲーム

ゲームを公開したところ、PCが落ちてしまったという報告が何件も入りました。
困ったことに自分のPCで再現性がないのです。

まったく原因に検討が付かないせいで見せるべきコードも具体的な聞き方もわかりませんので、一般論として答えをいただければいいのですが、
プログラミングで特に危険な(ブルスクを引き起こしうる)ミスとは例えばどういうものなんでしょうか。
とりあえず、ポインタは危険そうなのでアドレスを審判してないか総洗いしてみますが、
他の可能性がありましたら教えていただけると嬉しいです。
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: ランダムダンジョン自動生成に関して
返信数: 6
閲覧数: 5180

Re: ランダムダンジョン自動生成に関して

>usaoさん 前回のデバッグのしやすさの話から、単純化する検証法で、なんとか問題は解決までたどり着けました。ありがとうございます。 また、今テストコードでこれからゲーム本編に埋め込むんですが、 この処理と、これからの処理合わせて、なるべく分かりやすい(デバッグの容易な)方法(おっしゃっているコメント挿入、関数化など)を心がけていきたいです。 area_select_MAX++; area[area_select_MAX].x=area[area_select].x; area[area_select_MAX].y=area[area_select].y+where+1; area[area_...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: ランダムダンジョン自動生成に関して
返信数: 6
閲覧数: 5180

Re: ランダムダンジョン自動生成に関して

>usaoさん 確かにそうですよね、すみません。 言うとおり、cutをひとつに絞ったら、 根本的なひとつの問題までたどり着きました。 #include <stdlib.h> #include <stdio.h> #include <time.h> typedef struct{ int x,y; int tate; int yoko; } area_t; typedef struct{ int x,y; int tate; int yoko; } room_t; int GetRandom(int min,int max) { return min + (int)(rand()*(max-mi...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: ランダムダンジョン自動生成に関して
返信数: 6
閲覧数: 5180

ランダムダンジョン自動生成に関して

ランダムダンジョンを作るために頑張っていたんですが、 おかしなところを対症療法的に治していったらどんどん複雑な問題になっていきました。 http://racanhack.sourceforge.jp/rhdoc/intromaze.html ここなどを参考にしました。 敵AIを作る都合上、完成目標は以下の感じなのです。 壁は0、1以上全ては床。それ以外の種類の地形は考えていません。 0000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: ネットの画像のURL指定で得た画像をゲーム内で使う。
返信数: 7
閲覧数: 3871

Re: ネットの画像のURL指定で得た画像をゲーム内で使う。

>みけCATさん
まさにそれですね!
そこの関数名から調べて、なんとか完成にこぎつけることができました。
(というか、http://detail.chiebukuro.yahoo.co.jp/qa ... 2101389432
をほとんど使わせてもらいましたが・・・。)

ネットから情報を得るなんてこと出来ると思っていませんでしたが、
こんな方法でできるとは驚きです。

みなさん本当にありがとうございました。
特にみけCATさんは今回に限らずいつも本当に助かってます。感謝してもしつくせません。
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: ネットの画像のURL指定で得た画像をゲーム内で使う。
返信数: 7
閲覧数: 3871

Re: ネットの画像のURL指定で得た画像をゲーム内で使う。

>h2so5さん
ありがとうございます。
リファレンスを見ても通信関係はほとんど他PCとつないで対戦するようなものという印象を受けました・・・。

>みけCATさん
winInetを使うというのは、DXライブラリのように、
winInet.dllを入れて、新たな関数群を得るという認識でいいんでしょうか。
いまいち理解が及んでいなくてすみません。
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: ネットの画像のURL指定で得た画像をゲーム内で使う。
返信数: 7
閲覧数: 3871

ネットの画像のURL指定で得た画像をゲーム内で使う。

なんだか今までの自分のプログラミングスキルでは想像もつかないのですが、 ネット上にあるアドレスを(例えばhttp://dixq.net/forum/images/02.png でC言語何でも質問掲示板の画像アドレスのように) ゲーム上で指定したら、その画像をネットからとってきて、ゲームファイルに意図した名前で保存することはできるのでしょうか。 そこまでできるのなら、以降ゲームで使う方法は簡単だと思うのですが・・・。 ちなみにやりたいことは、SNSのアイコンを主人公にすることです。 アドレス名はhttp://.../images/user/○○○100.png (最後の○○100はアカウント名+...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリで改行がうまくいかない
返信数: 16
閲覧数: 6692

Re: DXライブラリで改行がうまくいかない

>みけCATさん 結局アイテムの説明文に関しては、@で改行を行わず、3行分の説明文をそれぞれ最初につくることで妥協しました。 これでバグはすべてなくなり、改行制御が完成しました。 みなさん、特にみけCATさん、本当にありがとうございました。 一応解決は押しますが、実はmessage_addの5引数版がしっかり動くのに、message_addの3引数版が動かないことから推測して、 おまじない的なバグ修正をしてしまったところがあります。 void message_add(int icon,char id[],char message1[]){//アイコンの画像番号、名前、メッセージ char *t...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリで改行がうまくいかない
返信数: 16
閲覧数: 6692

Re: DXライブラリで改行がうまくいかない

>みけCATさん >毎フレームstrtokしているのですか? >一旦別の変数にコピーしてからstrtokするか、初期化でstrtokしてそのデータを保持しておくべきだと思います。 はい。変更してみました。 これはmessage_addではなく、238行目にあたる部分のことですよね? >正しい動作が強制終了なのですか? 変な表現でしたね、すみません。@を付けるかどうかに関わらずいつも強制終了になってしまうバグです。 >strtokで文字列リテラルを書き換えるのは、まずいかもしれません。 >IdeoneでのテストでもRuntime Errorになりました。 すみません、いまいち問題がわからないです...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリで改行がうまくいかない
返信数: 16
閲覧数: 6692

Re: DXライブラリで改行がうまくいかない

>みけCATさん >@を3個以上書いていませんか? 文中に@が入っているものはありませんでした。 >みけCATさん >sprintfしたあと、3引数版のmessage_addを呼び出すようにしたらどうですか? なるほど・・・。思いつきもしませんでした。 >y_wingさん >\r\nで試してみましょう。 残念ながらDXライブラリでこれらを使うと改行をしてくれず、代わりにその記号以降全てが表示されないんですよね。 この掲示板にも改行の件が多く出ていて、やはり使えないという結論に至りました。 >softya(ソフト屋)さん >再現できるデータのパターンとソースコードを書いてもらわないと追試できなの...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリで改行がうまくいかない
返信数: 16
閲覧数: 6692

Re: DXライブラリで改行がうまくいかない

コンパイラがないならideoneなどのオンラインコンパイラを使いましょう。 http://ideone.com/ DXライブラリの関数は使用できませんが、strtokなどの標準関数は使用できるのでチェックは可能です。 ありがとうございます。web上にコンパイラなんて作れるんですね・・・。 試してみます。 >みけCATさん ありがとうございます!まさにそういう表示が欲しかったんです。 ただ僕と同じmessage_addで通ってますね・・・? 上手くいってるところを見るに、message_addやstrtokに問題はなかったように思われるんですが、 むしろどこにバグがあったんでしょう・・・? 追...
by namari
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリで改行がうまくいかない
返信数: 16
閲覧数: 6692

DXライブラリで改行がうまくいかない

DXライブラリは\nで改行を行わないと知り、 大量の文章処理を行う都合上、あるchar型の文章の中に「@」を加えると、 そこで次の行に改行する処理を作ってみたのですが、うまくいきません。 下の画像のように@が文章中につくだけで、改行が行われません。 おそらくstrtokの使い方に難があるのでしょうが、困ったことに今手元に簡単なコンパイラがなく、 テストコンパイルでstrtokの挙動が理解通りか確かめる術がないです。 問題を指摘していただけると幸いです。 //GV.h GLOBAL int message_cnt;//何個メッセージが書かれたかの最大値を見る GLOBAL int message...
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: 最小のコードでもセキュリティソフトに引っかかる
返信数: 12
閲覧数: 11141

Re: 最小のコードでもセキュリティソフトに引っかかる

バージョン設定してみました。
exeからプロパティで著作権、バージョンなどが表示される状態まで作りましたが、
結果アバスト送りされてしまいました。
もう諦め時でしょうか・・・。
公開して知名度がある場合、アバスト本社がチェックしてくれるのでそれを待て考え方でいいんでしょうかね。
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: 最小のコードでもセキュリティソフトに引っかかる
返信数: 12
閲覧数: 11141

Re: 最小のコードでもセキュリティソフトに引っかかる

>> shiro4aoさん
セキュリティ会社がいちいち全部確認してるんですか・・・
そっちからの解決は難しいですかね・・・。
VC++関係ないのなら、他に何の問題があるんでしょうかねえ。

>>softya(ソフト屋)さん
バージョン設定の仕方が分からなかったです。
VC++のスタンダードならリソースファイル右クリックして簡単にできそうですが、
僕の持ってるexpressだと、rcファイルの作成で行うらしいですが、いまいちやり方が不明というか・・・。
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: 最小のコードでもセキュリティソフトに引っかかる
返信数: 12
閲覧数: 11141

Re: 最小のコードでもセキュリティソフトに引っかかる

まず、VCは2008で、DXLIBはVer3.04dです。 DXLIBなしの実験として、Win32APIのウィンドウを出すコードを検索して、貼ってみましたが、同じく警告が出ます。 警告内容は以下のとおりです。 「アバスト!はプログラムの分析を完了しました。 このファイルをマルウェアであると識別するのに十分な証拠は得られませんでした。 しかし、このファイルを利用する際には細心の注意を払ってください。 ファイル:(ファイル名) 理由:ファイルの出現度や評価が低い場合 期間:(分析にかかった時間)」 avast!の例外に指定することに関しては確かにできました。 「著作権情報の非表示」をオフにしてもサ...
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: 最小のコードでもセキュリティソフトに引っかかる
返信数: 12
閲覧数: 11141

最小のコードでもセキュリティソフトに引っかかる

作っているゲームをテスト公開したところ、 「アバストに引っかかったぞ!」という声がいくつかありました。 「アバストの警告でうるさいからゲームを閉じたらエクスプローラが落ちた」という重大な報告もありました。 実は、作り中にデバッグしてみてテストプレイをするときから既に自分のアバストが警告を出していたのですが、無視して実行していました。 ポインタもあんまり使ってないバグになりそうもない自分のコードが悪いと思えず実験してみたところ、 管理人さんの「1.2章 まずはウィンドウを表示してみよう」というほぼ最小のコードでもセキュリティソフトにひっかかってしまいました。 http://dixq.net/g/...
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の初期化方法
返信数: 7
閲覧数: 3242

Re: 配列の初期化方法

>フリオさん
そうしました!ありがとうございます。

>へにっくすさん
配列の扱いが拙くてすみません。
なるほど。構造体を使えば、ややこしくなくて済むんですね。
ありがとうございます。

>かずまさん
こうやるんですか・・・全く思い浮かばなかったです。
僕はまだ配列の理解がしっかりできてないみたいですね。
これならかなりコードが短く済みそうです!

今回はほとんどかずまさんの方法そのまま導入しました。
本当にありがとうございました。
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の初期化方法
返信数: 7
閲覧数: 3242

Re: 配列の初期化方法

>for文で回して初期化するかint array[256] = {0};と言う方法で初期化することになると思います。 0以外の他の数字を入れたいので、forなどの方法では上手くいかないかと・・・ >それよりもまず、配列の次元が多いので、何らかの方法で整理するのが望ましいと思います。 そうなんですよね・・・ たとえば、配列名をMapdata1[24][32],Mapdata2[24][32]・・・にしていけば、この問題はなくなるとは思うんですが、 マップ移動の時に、既に最初の3次元で計算をおこなっていますので、できればこのまま変更なしの方が嬉しいです。 この問題以外はこの整理方法が最も動かしやす...
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の初期化方法
返信数: 7
閲覧数: 3242

配列の初期化方法

int MapData[75][37][8][24][32];//MapData[x値][y値][階層][縦の数][横の数] このように宣言しました。 この配列の一つにつき、最初の要素である[x値][y値][階層]は要するにマップ番号を定めていて、 一回の初期化に付き、[縦の数][横の数]だけの24*32の数だけ初期化したいのです。 しかしやり方がさっぱり思いつきません。 MapData[45][7][1][24][32]={ 2,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 0,0,0,0, 0,...
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: キーコンフィグモードを作る指針さえ立ちません
返信数: 14
閲覧数: 5370

Re: キーコンフィグモードを作る指針さえ立ちません

旅行していたため、解決済みも付けられませんでした。 キーコンフィグが完成したので貼ります。 本当にありがとうございました。 //順番にキーを押させて、key_config.txtの中身を変えさせる関数。 int keyconfig(){ int j,k,keta; if(key_config_flag[0]==0){DrawFormatString( 100, 300, WHITE , "下のキーを選んでください" );} if(key_config_flag[1]==0){DrawFormatString( 100, 300, WHITE , "左のキーを選んでください" );} if(ke...
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: キーコンフィグモードを作る指針さえ立ちません
返信数: 14
閲覧数: 5370

Re: キーコンフィグモードを作る指針さえ立ちません

fprintfを使って書きなおしたところ、文字化けはなくなりました。 int keyconfig(){ FILE *TxtHandle_key; TxtHandle_key=fopen( " ../../key_config.txt","w"); int j,k,keta; if(key_config_flag[0]==0){DrawFormatString( 100, 300, WHITE , "下のキーを選んでください" );} if(key_config_flag[1]==0){DrawFormatString( 100, 300, WHITE , "左のキーを選んでください" );} ...
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: キーコンフィグモードを作る指針さえ立ちません
返信数: 14
閲覧数: 5370

Re: キーコンフィグモードを作る指針さえ立ちません

遂にコンフィグに移りました。 コンフィグ用のテキストファイルからキー番号を読み込むシステムなので、 キーコンフィグに当たって、テキストファイルへ書き込みたいんですが、 書き出し時に、文字化けを起こしてしまいます。 //ヘッダファイル int key_config_flag[9];//フラグが0の時、そのフラグ番号のキー設定を行なう。 //一番最初の初期化 void first_ini(){ ・ ・ ・ key_config_flag[0]=0;//フラグ番号0が最初なので、このキーのフラグだけ0にして、あとは全て1としておく。 for(i=1;i<=8;i++){ key_config_fla...
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: キーコンフィグモードを作る指針さえ立ちません
返信数: 14
閲覧数: 5370

Re: キーコンフィグモードを作る指針さえ立ちません

void load_key_or_pad(){ int i=0; int TxtHandle[2]; TxtHandle[0]=FileRead_open( "pad_config.txt"); TxtHandle[1]=FileRead_open( "key_config.txt"); if(TxtHandle[0] == NULL || TxtHandle[1] == NULL){ printfDx("read error\n"); exit(1); } while(i!=9){ char a[3]; FileRead_gets(a, 3 ,TxtHandle[0] );//\0 if(...
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: キーコンフィグモードを作る指針さえ立ちません
返信数: 14
閲覧数: 5370

Re: キーコンフィグモードを作る指針さえ立ちません

すみません。コード修正した場所を間違えました。 void load_key_or_pad(){ int i=0; int TxtHandle[2]; TxtHandle[0]=FileRead_open( "pad_config.txt"); TxtHandle[1]=FileRead_open( "key_config.txt"); if(TxtHandle[0] == NULL || TxtHandle[1] == NULL){ printfDx("read error\n"); exit(1); } while(i!=9){ char a[3]; FileRead_gets(a, 2 ,...
by namari
11年前
フォーラム: C言語何でも質問掲示板
トピック: キーコンフィグモードを作る指針さえ立ちません
返信数: 14
閲覧数: 5370

Re: キーコンフィグモードを作る指針さえ立ちません

//パッドとキーボードの両方の入力をチェックする関数 void GetHitPadStateAll(){ int i,PadInput,mul=1; PadInput = GetJoypadInputState( DX_INPUT_PAD1 );//パッドの入力状態を取得 //PadInputには0010100100010101のような16桁のビットが入っていて、それぞれの桁がそこのボタンが押してあるかどうかを判定する。 //ここでは、PadInput & mulのような表記で、ボタンが押しているかどうかで分岐をしている。(1~2^16=0000000000000000~1111111111...

詳細検索ページへ移動する