[過去ログ]
DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net (1002レス)
DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
397: 名前は開発中のものです。 [] 2018/04/26(木) 06:43:12.80 ID:Q6Y0G65Q >>394 Box2D使えばええやん http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/397
398: 名前は開発中のものです。 [sage] 2018/04/26(木) 08:55:16.56 ID:8FkhnZEo 自分で組んでbox2Dより洗練された高速演算のライブラリを書けるならまあいいけどさ 物理挙動は入れずに衝突判定だけ取ることも出来るんだよ。そこに使うだけでもめっちゃ楽。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/398
399: 名前は開発中のものです。 [sage] 2018/04/26(木) 21:26:43.42 ID:Obi4vXUU 衝突判定作るのってそんな大変かね 丸と四角と線分くらいで十分でしょ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/399
400: 名前は開発中のものです。 [sage] 2018/04/26(木) 21:26:57.30 ID:O7SEtfFF >>395 うーん、とりあえず君はプログラム云々以前に日本語を勉強すべきかな 日本語も満足に操れない人間がプログラミングなんてちゃんちゃらおかしいよ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/400
401: 名前は開発中のものです。 [sage] 2018/04/27(金) 19:02:34.86 ID:uyUfvLGU 資本力がないとゲームエンジンが開発できなくなったんだよね、今の時代 物理演算、物理レンダ、2Dボーン、タイルマップエディタ、シェーダーのビジュアルスクリプト こういう「早い」「安い」「うまい」が実現できなければユーザー離れが起きる http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/401
402: 名前は開発中のものです。 [sage] 2018/04/27(金) 20:17:38.78 ID:jXn/jYw6 なんか、ここ、プログラムの「プ」の字も知らなさそうな奴らが多すぎないか? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/402
403: 名前は開発中のものです。 [sage] 2018/04/27(金) 22:07:00.13 ID:uyUfvLGU ん、君はプログラマーか? 最近はタイルマップエディタとかビジュアルスクリプトが普通に使えるようになったから、 プログラマの負担が減らせるわけで、それはいいことなんじゃないの (DXライブラリではよく知らんが、少なくともUnityやUE4では) http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/403
404: 名前は開発中のものです。 [sage] 2018/04/27(金) 23:36:34.96 ID:+EQaH9fl >>402 うるさい、バーカ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/404
405: 名前は開発中のものです。 [sage] 2018/04/28(土) 08:48:27.83 ID:bZFWgAtf >>402 少なくともここ数レスで君が一番アホっぽいよ?w http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/405
406: 名前は開発中のものです。 [sage] 2018/04/28(土) 15:19:30.35 ID:o1LwlEpU 無駄なものを無駄と判断して切り捨てる能力こそシステム開発において至高 キャラを動かしてるだけで気持ちイイという操作感を追求するのなら物理も有益 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/406
407: 名前は開発中のものです。 [sage] 2018/04/28(土) 17:36:54.96 ID:NvosXufr >>405 そんな、図星を突かれたショックと悔しさを前面に出したレスをしなくても…… http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/407
408: 名前は開発中のものです。 [sage] 2018/04/29(日) 09:32:36.04 ID:Z/Nwj4DW >>407 効いちゃった?ごめんぬw http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/408
409: 名前は開発中のものです。 [sage] 2018/04/29(日) 13:55:41.62 ID:S7kv9d23 >>406 方向キー入れた瞬間から等速直線運動スタートしてくれた方が気持ちよくない? 確かにキャラが歩きだす時は加速度運動するのが物理的に正しいけど咄嗟の回避とか間に合わなくてストレスあるね http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/409
410: 名前は開発中のものです。 [] 2018/04/29(日) 19:49:17.45 ID:SoZNbWO3 >>408 誰かと勘違いしてるのかな? 謝らなくていいからキチガイは病院へ行こうねw http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/410
411: 名前は開発中のものです。 [sage] 2018/04/30(月) 08:39:38.91 ID:tt/t6/9o >>410 煽られてキレて顔赤くするくらいなら煽らなきゃいいのに 煽らなかったら煽られないんだよ?わかる?w http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/411
412: 名前は開発中のものです。 [sage] 2018/04/30(月) 09:46:00.03 ID:mwpHyMRP 話が見えないんだけど、なんで>>402は突然このスレの住民に喧嘩売りだしたの? 誰かいじめた? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/412
413: 名前は開発中のものです。 [sage] 2018/04/30(月) 13:48:06.47 ID:VZwEIDhP IQ200の私にもわからん難問だな。 言えることはそっとしとけと言うことだ。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/413
414: 名前は開発中のものです。 [sage] 2018/04/30(月) 20:09:14.02 ID:KhVGgt2z このスレのレベルが低いのはわかりきってるのになぜわざわざ言葉に出すのか・・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/414
415: 名前は開発中のものです。 [] 2018/05/07(月) 13:58:29.93 ID:Vfb9Bs9K 確かにうんこ旨そうだよな http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/415
416: 名前は開発中のものです。 [sage] 2018/05/07(月) 19:41:54.85 ID:gUi75qwS 実際は苦いけどな http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/416
417: 名前は開発中のものです。 [sage] 2018/05/08(火) 19:55:01.58 ID:zaHk58IC ググったら本当に苦いらしいな 印象論だと思ってたわ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/417
418: 名前は開発中のものです。 [sage] 2018/06/08(金) 22:16:08.13 ID:uYJdfwFz Nintendo Switch対応だそうだ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/418
419: 名前は開発中のものです。 [sage] 2018/06/09(土) 01:01:18.87 ID:fsH33aBO まあいつも通り、素人が使う分には関係ない感じ? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/419
420: 名前は開発中のものです。 [sage] 2018/06/09(土) 21:18:20.35 ID:mBF3zINb プロでこれ使ってるの見たことない http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/420
421: 名前は開発中のものです。 [sage] 2018/06/09(土) 21:58:18.52 ID:fsH33aBO それは流石にアンテナ低くない? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/421
422: 名前は開発中のものです。 [sage] 2018/06/10(日) 16:27:22.57 ID:qJZsL4jW >>421 さあ、クソの役にも立たないゴミみたいなマウンテンゴリラレスはやめて 人の役に立つレスをしようぜ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/422
423: 名前は開発中のものです。 [sage] 2018/06/11(月) 13:23:15.85 ID:KAsMzLPf ライブラリ公開してくれよ。 車輪の再発明は辞めたい。 勉強にはなるけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/423
424: 名前は開発中のものです。 [sage] 2018/06/13(水) 01:02:11.08 ID:zpWb0K6R 最新のハードに対応するのはいいが、 グラフィックがもう10年前くらいの旧世代なのをなんとかしてほしいな シェーダー使えないとか、HDR対応してないとか 形だけ対応して中身がついてきてない感じだ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/424
425: 名前は開発中のものです。 [sage] 2018/06/16(土) 19:40:00.09 ID:8ewh1R16 >>423 DXライブラリはソース公開されてるよ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/425
426: 名前は開発中のものです。 [sage] 2018/06/17(日) 03:19:14.87 ID:z6C9dnYv ええ、公開されてますね(困惑。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/426
427: 名前は開発中のものです。 [sage] 2018/06/30(土) 00:04:57.83 ID:QTwf7deE ジオメトリシェーダとハルシェーダが使えないのは別に文句ないけど technique使用不可なのは地味にイライラする http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/427
428: 名前は開発中のものです。 [sage] 2018/07/04(水) 18:03:25.24 ID:GKLylxjM DXライブラリのシェーダーまわりはそれだけじゃないつーか DirectX9とDirectX11でコーディング方法が違ったり、 Android版ではそもそもシェーダー使用不可能だったり、 2Dスプライトの表示にシェーダー使えなかったりして あれもないこれもないって感じになっちゃうなぁ。まあそういうのがいらない人向けなんだろうけど http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/428
429: 名前は開発中のものです。 [sage] 2018/08/09(木) 02:58:08.73 ID:w7j+HefU VRoidのVRMファイルの読込に対応しようとしたらマテリアルが物理レンダのパラメータで DXライブラリだとVRMファイル読込むのは難しそうだ 物理レンダ対応してくんないかな http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/429
430: 名前は開発中のものです。 [] 2018/08/11(土) 12:47:56.79 ID:RmGfKRPO DxLibのシェーダーのSamplerで、テクスチャごとに違うフィルタリングモードでSamplerを作りたいんだけど無理かな? プログラム側でSetDrawModeで設定したフィルタリングモードになっちゃうんだけど http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/430
431: 名前は開発中のものです。 [sage] 2018/08/11(土) 13:37:54.92 ID:mdLblHI4 未だにMMDとメタセコだから VRMファイルはナウでヤングすぎる http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/431
432: 名前は開発中のものです。 [sage] 2018/08/11(土) 20:00:03.15 ID:0BvUQheC DXライブラリは時代遅れすぎてどうにもならない http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/432
433: 名前は開発中のものです。 [sage] 2018/08/11(土) 20:48:54.21 ID:V6BT8wZU すぎてってほどではないと思う、まだ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/433
434: 名前は開発中のものです。 [sage] 2018/08/12(日) 00:15:54.84 ID:DLCHw2GI 時代に遅れすぎた理由は、アセットストアがないせいだな いまだにアセットがひとつもないのは、アセットおじさんも真っ青だわ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/434
435: 名前は開発中のものです。 [sage] 2018/08/12(日) 09:49:59.00 ID:n2rCCHLV お前は何を言ってるんだ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/435
436: 名前は開発中のものです。 [sage] 2018/08/15(水) 02:14:13.34 ID:I59D2OX6 DXライブラリでようやく地面モデルと線分の当たり判定つけられた そこに主人公モデルの位置を同じにした まだモーションつけてないから 主人公が棒立ちのまま移動した 坂道登れるだけで感動した(小並感 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/436
437: 名前は開発中のものです。 [sage] 2018/08/20(月) 12:57:34.10 ID:HuW2CUtM 日記ですか http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/437
438: 名前は開発中のものです。 [sage] 2018/08/26(日) 11:59:52.50 ID:Oz7phZC4 日記の続きまたー? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/438
439: 名前は開発中のものです。 [sage] 2018/08/29(水) 12:37:25.65 ID:8rKJxZI3 DXライブラリって世間的にはゲームエンジン扱いなのな http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/439
440: 名前は開発中のものです。 [sage] 2018/08/30(木) 08:01:34.88 ID:w5Eoz0MG >>439 多分そこが一番誤解されやすいとこだよな。 基本はDirectXで自前で全部作りたいけれどめんどくさい設定周りだけはやって欲しい人向けのお助けラッパーだよね。 そこにDirectX以上の機能はいらないし。今の状態で十分。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/440
441: 名前は開発中のものです。 [sage] 2018/08/30(木) 14:26:51.75 ID:83gEz2C2 「各種ゲーム用エンジン紹介」みたいなところで触れられる分には「そんなもんか」って感じだけど 「ゲームエンジンを使っている」カテゴリの中にDXライブラリ製ゲームが含まれるとあれ?って思う 自分でも基準がよく分からない http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/441
442: 名前は開発中のものです。 [] 2018/08/31(金) 10:19:13.96 ID:MuDS6z7U 教えてほしいんですが int fp = FileRead_open("csvファイル"); この場合、fpにはcsvがそのまま入ってるという解釈でいいですか? つまり、ifstream ifs(fp);が可能になるのかが知りたいです。 ifstream ifs(FileRead_open("csvファイル"));は無理ですか? なんでこんな面倒なこと考えるかというと、 archive化したファイル内のcsvを読みたいんです。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/442
443: 名前は開発中のものです。 [] 2018/08/31(金) 10:29:38.50 ID:MuDS6z7U >archive化したファイル内のcsvを読みたいんです 厳密に言いますと、 ifstream ifs();で読み込んで string buf[要素数]; while(ifs && getline(ifs,buf[line])){ line++; } とbuf[]に一旦、そのままcsvの中身を格納したいんです。 普通なら、 ifstream ifs(csvファイル);で問題ないじゃないですか? でも、そのcsvがarchiveしたファイルから読み込む場合 ifstream ifs(csvファイル);だと読み込みません。 そこでFileRead_openを使うわけですが、 自分はどう
しても ifstream ifs(csvファイル); string buf[要素数]; while(ifs && getline(ifs,buf[line])){ line++; } の流れで利用したいんです。 なので、ifstream ifs(csvファイル);に来る前に FileRead_openを使い終わらせ、 あとはFileRead関数系を使わなくて済む様にしたいんです。 、、伝わりますか?僕の言いたいこと。。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/443
444: 名前は開発中のものです。 [] 2018/08/31(金) 23:18:37.63 ID:8gsP87Iw archive化したテキストファイルは改行コード\nが消えたバイナリファイル化してるから 最初にファイルサイズを計って1行ではなく全部をchar[filesize]に読み込むしかないんじゃない? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/444
445: 名前は開発中のものです。 [] 2018/09/01(土) 06:52:39.05 ID:RWsTVHZH >>444 >archive化したテキストファイルは改行コード\nが消えたバイナリファイル化してるから え、それ本当ですか? >最初にファイルサイズを計って1行ではなく全部をchar[filesize]に読み込むしかないんじゃない? すみません、もう少し具体的に教えてください! http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/445
446: 名前は開発中のものです。 [sage] 2018/09/01(土) 07:02:25.87 ID:BLfEX+5a >>445 ファイルサイズが1000なら char t_data[ 1000 ] にファイルのデータを格納する で、後は添え字で任意のデータにアクセスする http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/446
447: 名前は開発中のものです。 [sage] 2018/09/01(土) 11:30:13.35 ID:ghpuXsiR FileRead_scanfじゃいかんの? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/447
448: 名前は開発中のものです。 [] 2018/09/01(土) 14:32:20.17 ID:PENKT9BN >>445 2chは長い行で書き込めないのよ string all; char* path = "./hello.csv"; int size = (int)FileRead_size( path ) ; // 1char = 1byte char* buffer = new char[size]; int id = FileRead_open( path, false ) ; FileRead_read( buffer, size, id) ; all = buffer; // copy to string delete[] buffer; FileRead_close(id); // allをcsvのrow(\r\n)とcol(,)でパースする。csv書式の不正チェックとか丁寧にやると長くなるので以下適当 string cs
v[ROW][COL]; string tmp = ""; int x = 0; int y = 0; for(int i=0; i<all.length(); i++){ char c = all[i]; if(c == ',') { csv[y][x] = tmp; tmp = ""; x++; } else if (c == '\n') { // 本当は\r\nの2つで改行なんだけど csv[y][x] = tmp; tmp = ""; x = 0; y++; } else { tmp += c; } } csv[y][x] = tmp; // 最後の一個 文字列(string)から数値(intとか)に変えるときはatoiじゃなくてstrstreamだかを使うとよい http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/448
449: 名前は開発中のものです。 [] 2018/09/01(土) 14:44:21.63 ID:PENKT9BN 追記 csvファイルの最後に無駄な改行がついてたりすると配列のサイズ超えたりしがちなので注意 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/449
450: 名前は開発中のものです。 [] 2018/09/01(土) 14:53:41.96 ID:PENKT9BN さらに追記 csvの最後ってヌル文字で終わってないだろうから自分で足したほうがいいかも string all; char* path = "./hello.csv"; int size = (int)FileRead_size( path ) ; // '\0'が無い文字列char*をstringに渡すと長さ不定でまずい char* buffer = new char[size+1]; buffer[size] = '\0'; int id = FileRead_open( path, false ) ; FileRead_read( buffer, size, id) ; all = buffer; // copy to string delete[] buffer; FileRead_close(id); http://
mevius.5ch.net/test/read.cgi/gamedev/1452005069/450
451: 名前は開発中のものです。 [sage] 2018/09/02(日) 02:13:46.38 ID:qrAMxSjg Cは文字列処理が弱いからCSVParserを書くのも一筋縄にはいかんよ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/451
452: 名前は開発中のものです。 [sage] 2018/09/03(月) 04:26:51.22 ID:8cSGEO2Y そしてCSVの仕様を調べて、予想以上に面倒くさいことを知る http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/452
453: 名前は開発中のものです。 [sage] 2018/09/03(月) 23:58:20.90 ID:JgPc/ZW2 「,」じゃなくてTABスペースで区切るとか 「'座標(x,y)'」みたいにシングル・ダブルクォーテーションで囲む「,」を含むセルだとか CSVも奥が深い http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/453
454: 名前は開発中のものです。 [sage] 2018/09/04(火) 02:54:31.44 ID:jVVbpFTb ヘッダにコメントにセル内改行に空白セルに非固定列数に… あれやこれや対応させると面倒なので、仕様はExcel出力版に決めうちとかしちゃう それでいてExcel経由でもやり方によって微妙に違ったりするけど http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/454
455: 名前は開発中のものです。 [sage] 2018/09/04(火) 12:16:43.15 ID:qFImTgae Excel出力でも小数点の区切りがカンマな国とかあって地獄絵図なんだよなぁ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/455
456: 名前は開発中のものです。 [sage] 2018/09/04(火) 12:18:12.23 ID:qFImTgae 日本語がおかしかった 「小数点ががカンマ」ね http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/456
457: 名前は開発中のものです。 [sage] 2018/09/04(火) 12:18:39.57 ID:qFImTgae 死にたい・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/457
458: 名前は開発中のものです。 [sage] 2018/09/04(火) 18:21:03.16 ID:87Ucq8PA ワロタw そもそも「小数点の区切りがカンマ」って別に変な日本語じゃないと思うけど? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/458
459: 名前は開発中のものです。 [sage] 2018/09/05(水) 02:54:47.49 ID:6fPtkJ/i 「(整数と)小数の区切り記号がカンマ」か 「小数点という区切り記号がカンマ」かってとこじゃない? まあいずれにせよ通じる内容、普通に見落としちゃうレベルではある http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/459
460: 名前は開発中のものです。 [] 2018/09/05(水) 23:25:30.03 ID:jdPHLPpw もう>>442は投げ出しているだろうよ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/460
461: 名前は開発中のものです。 [] 2018/09/07(金) 06:49:13.67 ID:SP/YWN4v >>460 投げ出していません。 >>448さんのせっかくのソースがちょっと複雑で、、、 言葉でなにをしなければならないのか、アドバイスほしいです。 要は、 archive化したテキストファイルは改行コード\nが消えたバイナリファイル化してるから 普通にCSVを開くプログラムを書いていると archive後、正常に読み込まないってことですよね? ということは、バイナリ状態のCSVを読み込むプログラム文を書けってことですか? でも、それだとビジュアルスタジオ上のデ
バッグプレイじゃ バイナリ化してないcsvなんでエラーが起きますよね? だからすごく困っています。 どうすればいいのか http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/461
462: 名前は開発中のものです。 [sage] 2018/09/07(金) 12:19:35.09 ID:knV8JfdB >>461 >>でも、それだとビジュアルスタジオ上のデバッグプレイじゃ >>バイナリ化してないcsvなんでエラーが起きますよね? 何を言っているのか分からん デバッグモードだろうがバイナリ形式のファイルを読み込むプログラムを書けばバイナリ形式で読み込むし、 テキスト形式を読み込むプログラムを書けばテキスト形式で読み込むでしょ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/462
463: 名前は開発中のものです。 [] 2018/09/07(金) 12:41:21.71 ID:SP/YWN4v >>462 えっと、自分の知識不足かもしれませんが 普通に数字と「,」だけが詰まったcsvファイルを用意していても バイナリ形式で読むプログラムを書いていれば バイナリ形式で読むってことですか? バイナリ形式で読むプログラムを書いた場合は 用意するファイルもバイナリ形式で保存されたファイルじゃないと ダメなのかなと思っているんですけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/463
464: 名前は開発中のものです。 [sage] 2018/09/07(金) 13:34:50.10 ID:knV8JfdB >>463 そもそも上の方に書いてあった 「バイナリ形式は改行が削除される」っていうのが表現として適切じゃないな 改行コードを改行として認識するのがテキスト形式 改行コードをそのまま文字の羅列として認識するのがバイナリ形式 テキスト形式のファイルをバイナリ形式で読み込んだら そのテキスト内の改行コードがそのまま文字列として読み込まれるだけ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/464
465: 名前は開発中のものです。 [sage] 2018/09/07(金) 13:46:37.16 ID:2W2TZVJf 1 複数データを一つにまとめたい(暗号化したい) 2 読み込みプログラム(csvパーサー?)は既存のものをそのまま流用したい ってことなのかな…… >>444,>>446,>>448のキモは、DXアーカイブファイルを一本のchar配列に読み込む(バイナリデータとして扱う)という部分なので、 結局DXアーカイブもifstreamも関係なくて、char配列内のバイナリデータを自力で解析できるかという話になる パソコンで使うデータは全てバイナリデータと言えるので、cs
vだろうが音声だろうがDXアーカイブファイルだろうが全てバイナリ形式で読み込める http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/465
466: 名前は開発中のものです。 [] 2018/09/07(金) 14:40:43.77 ID:SP/YWN4v >>462 >パソコンで使うデータは全てバイナリデータと言えるので、 >csvだろうがDXアーカイブファイルだろうが全てバイナリ形式で読み込める その理論だとcsvや音声などの外部素材データをDXarchiveファイルにしたとしても、 archiveする前、つまりはビジュアルスタジオのプロジェクト上で ビルドして正常に機能してるプログラムそのままでも archive後も正常に機能するはずではないですか? もう少し具体的に言いますと>>442で説明しきれなかったんですが
ifstream ifsを利用して、csvの中の数値を配列に入れ込むプログラムを 自分は書いてまして、そのプログラムで問題なく動いてるゲームがあるんですが、 それの完成後にreleaseビルドして、使用してるサウンドやcsvの素材は フォルダごとarchiveファイル化したんですよ(配布する場合は皆さんそうしますよね?。 そしてexeファイルを実行したところ、画像やサウンドは正常に読み込むんですが、 csvだけ正常に読み込んでくれないんです。 エラーになるというよりは、数値を正しく読み込んで無いようで、配列を利用した背景画像が バグります。 例えばそこ
で素材をarchiveファイル化せずに、素材が入ったフォルダをそのままで 利用すると画像やサウンドはもちろん、csvも正常に読み込み、ゲームも正常に動くんです。 なので、私は、こう思ったわけです。 「csvについては、archiveファイル化すること前提にしたプログラムを組まないと 正しく読めないのかな」と。 それで、「FileRead_open」を使わないとダメなのかなと。 archiveファイルのcsvを読み込む場合、FileRead_openを利用しろと言われたことがあるので。 でもあなたの話を聞いてたら、違うのかな、とか。。。 http://mevius.5ch.net/test/read.c
gi/gamedev/1452005069/466
467: 名前は開発中のものです。 [sage] 2018/09/07(金) 15:06:25.39 ID:knV8JfdB >>466 アーカイブは言わば「バイナリ形式」のファイルでしょ? 「テキスト形式のファイルを読み込むプログラム」でバイナリ形式のアーカイブを読み込もうとしてるからバグってるんじゃない? 123 456 789 上記のファイルがあったとして「1行読み込む」関数を使った場合 「123」「456」「789」って読み込むだろうけど アーカイブ化(バイナリ形式)すると「1行読み込む」関数を使うと 「123\r\n456\r\n789」みたいに 一つの文字列として全部読み込むから数値が正
常に読み取れてないと思うんだけど http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/467
468: 名前は開発中のものです。 [sage] 2018/09/07(金) 15:15:20.85 ID:2W2TZVJf まず、DXアーカイブファイルは全部のファイルを無理矢理合体&暗号化した完全独自形式のものなので、基本的にDXライブラリが用意した専用の関数でしか読み込めない 画像やサウンドはDXライブラリの読み込み関数を使うから、何もせずともDXアーカイブファイルから読み込めるようになってるんだよ LoadGraph等には、内部的にFileRead_openが入ってるので、元のフォルダだろうとアーカイブだろうと読み込める ただ、暗号化されてない場合に限り、小細工を弄すればバイナ
リファイルとして直接読める。(フォーマットを理解して自力でポインタ移動する必要がある) 上でみんなが説明してるのはこれ これまでのやり取りを見る限り、バイナリファイル云々は今の君の知識で理解するのはたぶん無理なので、DXライブラリの関数使って地道にがんばったほうがいい というかなぜFileRead_openを拒むのかがわからない…… http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/468
469: 名前は開発中のものです。 [] 2018/09/07(金) 15:15:27.11 ID:SP/YWN4v 呼び出し LoadData(int,int,string);//縦、横、csvファイルパス void LoadData(int y,int x,string s){ m_line = y; m_col = x; int line = 0;int count = 0;int sum = 0;int nokorinoketa=0; ifstream ifs(s); string buf[3000]; Map.resize(m_line);//resizeで行数を決める for(int i = 0; i<m_line; i++){Map[i].resize(m_col);}//resizeで各行の列数を決める while(ifs && getline(ifs,buf[line])){line++;} for(i
nt line=0; line<y; line++){ for(int col=0; col<x; col++){ if(col < x-1){ sum = buf[line][count]-48; count++; while(isdigit(buf[line][count])){ sum = sum*10 + (buf[line][count])-48; count++;} Map[line][col] = sum;//Noが格納 count++;} if(col == x-1){//最後の数字 nokorinoketa = buf[line].size()-count; sum = buf
[line][count] - 48; while(nokorinoketa > 1){ count++; sum = sum*10 + (buf[line][count])-48; nokorinoketa--;} Map[line][col] = sum;//Noが格納 }} count=0;}} http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/469
470: 名前は開発中のものです。 [] 2018/09/07(金) 15:22:35.20 ID:SP/YWN4v 行数制限のせいで見づらいソースになってますが、ご了承ください。 処理内容は引数で配列の縦と横の値と、csvファイルのパスを受け取り、 まず、bufに全部入れてから、map配列に入れていく感じです。 呼び出しはLoadData(4,4,"h/m/data.csv");みたいな感じで書きます。 archiveファイル化しなければ、これで正常に動きます。 >>468 >基本的にDXライブラリが用意した専用の関数でしか読み込めない >画像やサウンドはDXライブラリの読み込み関数を使
うから、 >何もせずともDXアーカイブファイルから読み込めるようになってるんだよ 納得です。それを聞きたかったんです。わかりやすいです。 >>というかなぜFileRead_openを拒むのかがわからない…… 拒んでいません。 一応、FileRead_openを>>469のプログラムに組み込んで動くようにしたんです。 問題なく、動きます。それはプロジェクト上で、ですが。 で、やっぱり外部ファイルをarchiveしたら、そのプログラムではうまくcsvを読み込まないんです。 FileRead_openを組み込んだのに、FileRead_openを組み込む前と同じバグの状況で
す。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/470
471: 名前は開発中のものです。 [sage] 2018/09/07(金) 15:27:55.83 ID:2W2TZVJf だからFileRead_readやFileRead_getsで読むんだぞ もう一度リファレンスを熟読するんだ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/471
472: 名前は開発中のものです。 [] 2018/09/07(金) 15:28:30.17 ID:SP/YWN4v あ、ちなみに>>469で利用しているMap配列の要素数は決めておらず、 vector<vector<int>>Map;と宣言しており、 第一、第二引数を受け取ってから要素数を決定させています。 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/472
473: 名前は開発中のものです。 [] 2018/09/07(金) 15:35:23.97 ID:SP/YWN4v >>471 ちゃんとFileRead_readで読むプログラムに修正しました。 具体的には、 ifstream ifs(s); while(ifs && getline(ifs,buf[line])){line++;} の箇所を int fh = FileRead_open(s.c_str()); while(fh && getline(fh,buf[line])){line++;} と変更するだけです(この場合は最後にFileRead_close(fh);してます。 これで問題なくないですか? 実際に、visualstudioのプロジェクト上でビルドすると 正常に動いています。 なのに、releaseビルドして
、素材ファイルをarchiveした途端 csvは正常に読み込まないんです、、、、ほんと参ってます。。 なにが悪いんでしょう? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/473
474: 名前は開発中のものです。 [] 2018/09/07(金) 15:45:28.86 ID:SP/YWN4v なぜ、FileRead_openを使ってるのに、 FileRead_openを使ってないときのバグが出るんでしょうか。 でも、archive化しなければ、FileRead_openを使ってるそれでも正常に動くのです。 引数でcsvファイルのパスを受け取っているのが問題なんでしょうか? でも、利用するcsvファイルがいくつもあるので呼び出し命令の引数でファイルを選択してやらないと 困るんですよね。 もちろん、引数では数値を受け取り、switchで数値ごとにcsvを選択させてもいいですが、、 でも引数が問
題では無いとも思うんですよ、、、、、。 なんでなのか、もう何日も悩んでいます。 もしよかったら頭から数字,数字,.....というdataが入ったcsvを FileRead_openで開いて、配列に入れていくという シンプルなソースを書いてみてくれませんか? DXライブラリのリファレンスにはcsvを使ったものが載ってないんですよ、、 なので、見せてほしいです。それを理解して応用させたいので。 お願いします、ほんと凄く困っていまして、、、 http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/474
475: 名前は開発中のものです。 [sage] 2018/09/07(金) 15:48:35.98 ID:6e9JnvLB それ逆じゃないのか? http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/475
476: 名前は開発中のものです。 [sage] 2018/09/07(金) 17:09:17.90 ID:stA8I9vh 良く分からんけど、こんな感じの事がしたいの? void LoadData( int t_Width, int t_Height, std::string t_FileName ) { int t_FileHandle = FileRead_open( t_FileName.c_str() ); int t_FileSize = FileRead_size( t_FileName.c_str() ); std::vector< std::vector< int > > t_MapDataVec; int t_LoadNum = 0; char t_Char; //マップの配列を確保 t_MapDataVec.resize( t_Height ); for( int i = 0; i < t_Height; i++ ) { t_MapDataVec[ i ].resiz
e( t_Width ); } //正常に1文字を読み込める間、繰り返す while( ( t_Char = FileRead_getc( t_FileHandle ) ) != -1 ){ if( isdigit( t_Char ) != 0 ){ int t_Sum = 0; do{ t_Sum = ( t_Sum * 10 ) + ( t_Char - '0' ); t_Char = FileRead_getc( t_FileHandle ); }while( isdigit( t_Char ) != 0 ); t_MapDataVec[ t_LoadNum / t_Width ][ t_LoadNum % t_Width ] = t_Sum; ++t_LoadNum; } } FileRead_close( t_FileHandle ); } http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/476
477: 名前は開発中のものです。 [sage] 2018/09/07(金) 20:11:51.17 ID:stA8I9vh >>473 int fh = FileRead_open(s.c_str()); while(fh && getline(fh,buf[line])){line++;} ん? FileRead_readとかのDXライブラリ関数じゃなくて getlineが使われてる様だが? 例えばabc.csvを他のファイルと纏めて Archive.dxaっていうアーカイブにした場合、 std::ifstream t; t.open( "abc.csv");とかしたって読み込まないよ そんなファイル無いんだから DXライブラリ用のArchive作ってるのに それを通常の入出力関数で読み出そうとし
てるのがバグの原因だよ http://mevius.5ch.net/test/read.cgi/gamedev/1452005069/477
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 525 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s