DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net

1名前は開発中のものです。2016/01/05(火) 23:44:29.77ID:fkNSYSkc
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
http://homepage2.nifty.com/natupaji/DxLib/

【関連スレ】
C/C++ゲーム製作総合スレッド Part7 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1420939171/
ゲームプログラムなら俺に聞け32(c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1441693570/

●DXライブラリではなくDirectXの質問ならこっちへ
【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1418438785/

538名前は開発中のものです。2018/09/09(日) 00:36:31.83ID:/IlMVd18
素材フォルダをarchiveしなければ、
素材フォルダと実行ファイルとでもう動くんです。

ただ、素材フォルダをarchiveしたいと思ったから
>>477さんのおかげで、archiveしたファイルを扱うなら
DXライブラリ関数にしなければならない、とアドバイスを受け
読み込み部分のプログラムを修正しなければならないと知りました。

で、今、いろいろやってるんですが、正しく読み込まない、
なぜだ?DXライブラリ関数を使っているつもりなのに、、、困った。

そういう現状なんです。
どうか、このバカめに、知識人様のお知恵を貸しください。
どこが間違っているのかの、ご指摘がほしいのです。

539名前は開発中のものです。2018/09/09(日) 00:42:03.51ID:Jspb1/om
厨房はそろそろ寝る時間だぞ
ママンに怒られっぞ

540名前は開発中のものです。2018/09/09(日) 00:52:21.26ID:/IlMVd18
>>537
>あと「上手くいかない」「エラーが出る」とかじゃ意味分からんね 具体性がない

まあ、どういう状況かはこのスレに書いてきたんですが
途中から来た貴方に私が過去レスを見てくれというのも
おこがましいので、貴方のために説明します。
経緯は>>538です
で、私のもともとのソースは
>>469です。
これがarchiveファイルにしていなければ正常にcsvファイルの中身を
Map配列に入れ込める関数です。
この段階のgetline関数はiostreamの関数です。
そのgetlineでなにが行われているのかは、もちろん私より承知なんでしょう。

まあ要は、
このソースのどこをDXライブラリ関数に変えたらいいのか、という相談なんです。
ピンポイントで修正個所を言ってくれる人はほとんどおらず、
別の部分をいろいろご指摘されたわけですが。

で、次にDXライブラリ関数を使って
自分なりに完成させたソースを貼りますね

541名前は開発中のものです。2018/09/09(日) 00:54:20.16ID:/IlMVd18
>>539
ここ毎日夜通しで修正してますし、
夜通しでここに書き込みしています。

こんなにヤル気がある生徒なのに、、

542名前は開発中のものです。2018/09/09(日) 01:10:26.39ID:WZz40CCH
夜通しやって昼間やらないんじゃ逆効果だろ
自律神経狂うし寝不足で効率落ちるから、休息にもヤル気が必要
ただし煽り猿は気にしなくていい

543名前は開発中のものです。2018/09/09(日) 01:12:00.66ID:B7UDp+Nk
じゃあもうアーカイブするなよw それで解決じゃんwww

544名前は開発中のものです。2018/09/09(日) 01:24:13.78ID:igBBjSKe
まず、>477の前に俺が>468と>471でパーフェクトな回答をしたことに気付いてほしい

あと、パーフェクトな答えはいっぱい出てるのに何故できないのかというと、君は「変数の型」のことがわかっていないのに自分ではわかってるつもりになっていて、何度それを指摘されても理解しようとしないから

間違いの一例をあげると
>int fh = FileRead_open(s.c_str());
>ファイル内の文字がfhに入ってると思ってるんで
これはC言語の初歩を勉強した人なら絶対にありえないパーフェクトな間違いで、これに気付かないのが全ての元凶になってる
型も入出力も全くわかってない上に、DXライブラリのリファレンスを読む気まるで無しなので、何を説明しても通じない
しかもこういう間違いが書き込みのたびに出てきてるので、皆が基礎を学べと言ってる

もうきりがないので究極にパーフェクトな答えをピンポイントで書くと、
DXライブラリのリファレンスをよく読みCのファイル入出力と見比べて
FileRead_read、FileRead_getsあたりを使って「型の合った正しい引数」を与えればうまくいく

545名前は開発中のものです。2018/09/09(日) 01:26:16.05ID:OabHqojG
>>大前提だけどアーカイブにはちゃんと目的のファイル入ってる?
>もちろん、デバッグで確認して、bufじゃないですが
>最終的な配列の中身を確認し、ちゃんとcvsの数値が
>そのまま各要素に入っていることは確認しています。
アーカイブからFileRead_readでCSV読むのは解決済みじゃないか おめでとうさようなら

Releaseビルドすると不安定な挙動になるのはエラーチェック不足や初期化漏れのせい
Debugビルドのときはcharやintのローカル変数が自動で初期値クリアしてもらえてるから

546名前は開発中のものです。2018/09/09(日) 01:36:18.09ID:/IlMVd18
>>542
本当にその通りです、
この生活を繰り返してたら剥げそうです
優しい言葉に涙が出そうです。
連投したこと、反省します。

>>544
>俺が>468と>471でパーフェクトな回答をしたことに気付いてほしい

はい、実は>>522を書き込んだあとに過去スレ見返して
あなたが真っ先にperfectな回答をくださってると気づきました。
すみません、477さん以外にまともな回答が無いみたいな発言をしてしまって。

あと、あなたのご指摘が胸に刺さりました。
プログラマに向いてない性格の自分を再確認させられました。
実は私はプログラマに向いてないのに無理やり頑張っていた人間で
ゲームが完成して、調子に乗ってしまっていたようで、自分のそれを忘れていました。
私はすべて独学ですので、まともに学んだとは言えません。

>もうきりがないので究極にパーフェクトな答えをピンポイントで書く

ありがとうございます。
それをちゃんと実行して、考えたいと思います。

>>レスくれた皆様がた
皆様、もう一回初心にかえり
リファレンスとにらめっこしてまいります。
ご迷惑おかけして申し訳ありませんでした。
失礼します。

547名前は開発中のものです。2018/09/09(日) 02:04:50.28ID:p4JqI5Xf
スレが活発なのは嬉しい

548名前は開発中のものです。2018/09/09(日) 02:50:42.98ID:YiB/2DVS
>>546
ifstream ifs(s);

ここのsに何が入ってるか気になる

まぁとりあえず
現状のDXライブラリの関数しか使ってないソースコード貼ってくれ

549名前は開発中のものです。2018/09/09(日) 03:59:58.45ID:B7UDp+Nk
プログラマ向いてないのとまともに学んでないのはソース見てわかったよ
こんなところに躓くほどアホなやつ他の初心者スレでも見たことないし

550名前は開発中のものです。2018/09/09(日) 06:51:24.71ID:Azvx/JNZ
俺かなり真剣に考えてレスしたはずなのに
有益ではないと断言されてしまった

551名前は開発中のものです。2018/09/09(日) 07:06:14.25ID:aEJipmjc
というか、>>546はちゃんとデバッグしてる?
ステップ実行とかすれば簡単に原因が分かるはずだが?

「アーカイブにした途端読み込まない」って
十中八九ファイルパスが間違っててopen出来てないからそこを確認すべき

大方、下記の状態の時に
f.open("data.csv");とか
f.open("csv/data.csv");とかやってんだろうけど

■Test
┣Archive.dxa
┗game.exe

552名前は開発中のものです。2018/09/09(日) 17:54:46.31ID:BNO7fyNj
デバックで問題点をぼりこむスキルもないのに、
いきなりゲームを作ろうとするからだよw
そもそもスキル足らない人間の質問なんて要領得ないし、
自分のコードは見せないけど、俺のコードのどこに問題点があるか教えてケロケロって言ってる
アホさ加減にすら気がついてない。

553名前は開発中のものです。2018/09/09(日) 18:07:35.28ID:6GoioEmY
だから、Ruby から始めればよい。
大学の授業を受けたほとんどの人が、C 言語はわからないし無意味だって、言ってるw

>プログラマに向いてない
C/C++ などポインタのある言語は、
人間には無理なことをやらしているのだから、向いていないのは当たり前。
君らは、多言語の経験が無いから、自分が馬鹿だと思っているけど、全然違う!

漏れは、10言語以上やってるけど、
動的言語・静的言語・ポインタのある言語の順に、難しくなっていく。
人間から離れて、機械に近づいていくから、だんだん無理になっていく

C++ なんて、1万人に1人とかだから、もっと無理。
数年山籠もりが普通

慶応卒の、Rubyの女神・女優の池澤あやかが言ってる。
授業でC を教えるのはおかしい。
Rubyから始めるべきだって!

C/C++が必要だからって、勉強をC/C++から始める必要はない。
ポインタを追っかけ回すのに時間を取られて、勉強にならないから効率が悪い

動的言語から始めて、プログラミング・システムの基礎を学ぶべき

5545532018/09/09(日) 18:15:12.16ID:6GoioEmY
ゲームプログラマになる前に覚えておきたい技術、平山 尚、2008

これは大賞も取った、俗に言う「セガ本」だけど、
セガの入社試験を受ける前に、読んでおいて下さいって言うけど、

これだけでも、マスターしている人は、セガにほとんどいないだろうw

何歳までに始める言語とか、この手の本も、全く簡単じゃない

この手のタイトルの本を、信用しない方がよい。
C/C++ なんて、簡単に学べるわけがないから!

5555532018/09/09(日) 18:25:07.50ID:6GoioEmY
>>509
Ruby では、これだけで、CSV ファイルを読み込める。
動的言語では、ファイルI/O なんて読み書きできて当たり前!

ポインタのある言語をやるから、難しくて出来ない

動的言語・静的言語・ポインタのある言語の順に、難しくなっていくから、
ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき

言語の難易度が違う

なぜ、C/C++ をやる人が、プログラミング出来ないのかを解説した

5565532018/09/09(日) 18:41:50.91ID:6GoioEmY
>動的言語・静的言語・ポインタのある言語の順に、難しくなっていくから、
>ポインタのある言語なんて、多言語でプログラミングして、10年後に始めるべき

例えれば、君はヒマラヤ登山をする初心者w
絶対に無理なのが、わかるよね

まず10年は、簡単な山から登って、基礎体力や登山の方法を学ぶ

まず10年は、コンピューターシステム・プログラミングの方法を学ぶ

557名前は開発中のものです。2018/09/09(日) 18:43:42.20ID:Azvx/JNZ
Cは別にヒマラヤじゃない

558名前は開発中のものです。2018/09/09(日) 18:45:04.52ID:Azvx/JNZ
あ、すまん、荒らしにレスしちまった……

559名前は開発中のものです。2018/09/09(日) 19:03:52.04ID:8HszjCC2
>>char buf[1024];
>>if (FileRead_gets(buf, sizeof buf, fh) == -1)
あと高確率で勘違いしてるだろうから
ついでに上記のsizeofについてもダメ出ししとく

sizeof演算子を配列に使用した場合、
得られるのは「配列全体のサイズ」であって「配列の要素数」じゃない
多分、要素数が求められると思ってるでしょ?

char型はどの処理系でも1バイトだからたまたま問題なく動くけど
配列のサイズ/配列の要素1個のサイズにしとかないとintとかdouble型とかだと範囲外エラーになる

560名前は開発中のものです。2018/09/09(日) 20:35:51.38ID:Jspb1/om
そのsiseofの使い方はなんら問題はない
なぜなら関数はバイト数を入力されることを期待しているから
突っ込みどころはそこじゃない

561名前は開発中のものです。2018/09/09(日) 21:35:34.64ID:o9Esn6eC
あホントだ この関数はサイズ指定でいいのか すまぬ

しかし「int型に文字列のデータが入っている」と思うレベルで
ゲームを完成させたというのなら逆に凄いと思うわ

5625532018/09/09(日) 22:00:07.53ID:6GoioEmY
ファイルの読み込みなどは、C でやらない。
Lua, Squirrel などの動的言語を使う

本当は、Rubyが良いけど、ライセンスがGPL だから、アプリに組み込めない

563名前は開発中のものです。2018/09/09(日) 23:03:21.18ID:B7UDp+Nk
マジかよRubyてゴミだな

5645532018/09/11(火) 00:00:02.94ID:ROgWPLgp
デバッガーを使って、1行ずつ、デバッグすれば?
それか、Rubyみたいに各行に、Print文を入れていく

p 0
文1
p 1
文2
p 2

これで、どこまで処理が進んだかわかる
例えば、0, 1 と表示されれば、文2 でエラーを起こしているとわかる

565名前は開発中のものです。2018/09/11(火) 13:59:01.43ID:KgRZ3rsd
本当の入門用言語はPYTHONだと思う

566名前は開発中のものです。2018/09/13(木) 00:54:18.17ID:OVIBOeJk
sp4用のDXライブラリ使いたいのに、自由に使わしてもらえないの?
DXライブラリ製作者じゃ無く、変な運営団体が牛耳ってないか?

567名前は開発中のものです。2018/09/13(木) 00:54:55.89ID:OVIBOeJk
ごめん、ps4ね

568名前は開発中のものです。2018/09/13(木) 01:21:08.56ID:8MyNpCBt
PS4に限らず、CS向けの開発資料関係はソニーと要契約だし、
PS4向けのDXライブラリにはそういう情報も含まれてるでしょう。
いづれにしても個人が契約結ぶのは無理だし、この会社が窓口請け負ってんじゃないかな。
おそらくOSSにはならないと言うかなれないと思うよ。

569名前は開発中のものです。2018/09/14(金) 01:05:52.78ID:Iy4HGXit
CS開発にDXライブラリの知識や資産が活かせるってだけであって
DXライブラリを使えばCS開発ができるという意味ではないからなあ

570名前は開発中のものです。2018/09/14(金) 05:06:48.74ID:NxI6was4
勝手にPS4のアプリ作るのは法的に無理だよね

571名前は開発中のものです。2018/09/14(金) 10:29:51.74ID:Iy4HGXit
定期的に同じような質問見る気がする

572名前は開発中のものです。2018/09/14(金) 10:44:49.19ID:DNWN2h3R
結局この前のやつはアーカイブから読み込めたのかね

教えてクレクレ君は大体が初歩的な内容をマルチポストして
解決するか挫折するかして失踪するから困る

基礎を学ぶ気が無いんだったら◯◯ツクールとかの製作支援ソフトでも使ってりゃいいのに

573名前は開発中のものです。2018/09/14(金) 13:16:02.99ID:W0Rg80rW
PS4の開発機材要るしね。実行環境なければソフトウェアだけではどうにもらなん。

574名前は開発中のものです。2018/09/15(土) 02:17:37.10ID:/xcvtQHo
C/C++ は、ポインタがある言語だから、難しい

機械に近い言語だから、人間の感覚に合わない。
一つ一つのチェックに、時間が掛かる

575名前は開発中のものです。2018/09/15(土) 03:22:43.38ID:i4O38UTc
ポインタがあると思うから難しく感じるねん。
基本がポインタで、int や char が特別やねん。
基本が malloc で、配列が特別やねん。
ほんでその特別な方で済むならそっち使えばええ言語やねん。
思い込んでるほど難しいもんやあらへん。

C++ はそれにたくさんもっと約束事を追加してるもんで、
覚えるのは大変やけど、それ覚えたらプログラマ同士でより複雑なプログラミングも可能になるわけや。
C が三角ベースなら、C++ ベースボールやんな。

そこまで構えんでええ。独習シリーズ買ってあとは必要に応じて参考書買えば大丈夫、大丈夫。

576名前は開発中のものです。2018/09/15(土) 06:09:43.23ID:GOhxd3by
ポインタを難しいと全く思わなかったせいか
人に教えるときも、どうもそのへんの感覚が分からんのよねぇ

577名前は開発中のものです。2018/09/16(日) 07:09:58.40ID:pTuyxRHX
ダブルポインタ、スマートポインタ、constポインタ、const変数へのポインタ、関数ポインタとか
色々あるけど、別に「理解不能」とはならなかったな

ポインタで詰まってる人ってどこで詰まってるんだろね

578名前は開発中のものです。2018/09/16(日) 07:23:34.15ID:Ypv+ZU15
ポインタにつまづかなかった俺ドヤァwwww

579名前は開発中のものです。2018/09/16(日) 08:01:05.65ID:De/NLTEL
入門書を読んで理解して無理のない使い方するだけなら簡単だろう。
理解が難しい書き方も出来るから、そういうコードを見た時に難しいと感じるんだろう。
あるいは全く意識しない書き方も出来るからこそ、なぜポインタなんてものがあるのか?と理解に苦しむパターン。

580名前は開発中のものです。2018/09/16(日) 10:49:36.24ID:P4oQMMdm
言語の機能が極端に少ない・足りないのをポインタという裏技でどうにかするのがCやで

むしろなぜド素人がCなんて使うのか?と理解に苦しむパターン。

581名前は開発中のものです。2018/09/16(日) 11:38:54.49ID:De/NLTEL
>>580
は?俺Cとかめっちゃ使えるしド玄人なのになんで勝手に文脈を誤解されてド素人言われなければいけないのか理解に苦しむパターンだわこれはマジでむしろ理解に苦しむパターンの理解に苦しんでるパターンだろ。
なんで理解してないのに理解に苦しむパターンを勝手に使うのか理解に苦しむパターン。

582名前は開発中のものです。2018/09/17(月) 01:27:36.34ID:vd6LnlZ9
ダブルポインタとか言ってるやつは人間として信用しない

583名前は開発中のものです。2018/09/17(月) 03:27:40.68ID:Ho87M1a1
STLやポインタが難しいって20年も昔の話だろw
関数ポインタとか、ポインタのポインタとか、C#とか他の言語でも息を吸うように使われてるよ

584名前は開発中のものです。2018/09/17(月) 15:20:02.16ID:BMRQtvdo
言うだけなら簡単だな

585名前は開発中のものです。2018/09/17(月) 15:46:10.87ID:VSI4gd1E
Cだとポインタ使わずに書くのが難しい処理があるのは事実で、
それに慣れた使用者にポインタは難しいとか他言語にポインタはないとか言っておけば耳障りはいいし、他言語を自由度の低いものとして恐れるようになる。
つまりC言語帝国主義者の陰謀でポインタに関するデマが広められているだけなので要注意。

586名前は開発中のものです。2018/09/17(月) 19:01:30.66ID:Ho87M1a1
C/C++入門書なんかよりJavaやC#から始めた方がポインタの理解が早いかもな

587名前は開発中のものです。2018/09/17(月) 23:32:18.21ID:no51r4yq
俺みたいに機械語から始めれば何の問題もないぞ

588名前は開発中のものです。2018/09/18(火) 12:42:02.12ID:MRDcFzMt
ゲーム作るのが目的だし、PCの性能も上がってるから
スクリプト言語のような動的な言語もありだし、JavaやC#から入っても良いだろう。
ただまあ、DXLibのスレでC/C++の文句言うなら他をあたりんさいとしか言えんがな。
ただスクリプト言語用のゲームライブラリってそれなりにあるけど、開発が止まってたり、
LGPLだったりと別の意味で使い勝手が難しいものが多いね。

新着レスの表示
レスを投稿する