トップページgamedev
1001コメント334KB

DXライブラリ 総合スレッド その8

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2011/04/03(日) 17:17:11.99ID:liTmPO3j
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

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

【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
http://hibari.2ch.net/test/read.cgi/gamedev/1286180687/
0720名前は開発中のものです。2011/07/15(金) 20:59:03.64ID:sINpyDal
>>703の完成した2本のゲームをやってみたいな
どっかにアップされてないの?
0721名前は開発中のものです。2011/07/15(金) 21:10:48.16ID:BoGt4h1A
>>719
ドヤ顔で2chに自作ゲーム晒されても何も言えねーだろw
0722名前は開発中のものです。2011/07/15(金) 21:13:09.10ID:aUeB0D0P
>721
wwwwwwwwww
確かにそうだなw
0723名前は開発中のものです。2011/07/15(金) 21:14:32.88ID:s1h5mZwt
想定外のコントに思わず吹いたわwwwww
0724名前は開発中のものです。2011/07/15(金) 21:53:14.65ID:fwAZzod0
>>709
バッファオーバーラン、メモリリークなんて言われてもどれだけの人が理解できるだろうな?
ここの住人はへっぽこ三流プログラマー多いもんな、C++でメモリ管理やオブジェクト指向がわからないとか恥意識無く平気で口にするし
メモリアクセスのバグについても存在すらわからんって言ってる奴も居る
変数のスコープは出来る限り短くする、グローバル変数を多用しないというのはC++の常識なんだけどね
結局はきちんとした作法と正しいプログラミング知識を身に着けようと努力しない奴らが多すぎて困ったもんだ
0725名前は開発中のものです。2011/07/15(金) 22:00:03.53ID:PBItPhvX
>>724
それ多分全部俺。
0726名前は開発中のものです。2011/07/15(金) 22:11:06.89ID:q/kzQ263
ゲーム製作を目的にプログラムを始めた人に対して
その常識や知識を最低限叩き込めるサイトがテンプレにあればいいんじゃない、コード規約にならん程度で。

そういうのがあれば、初心者のDXライブラリの使用率が高そうだから公式でも紹介してくれればいいね
0727名前は開発中のものです。2011/07/15(金) 22:13:58.72ID:s1h5mZwt
>>724
まあメモリアクセスのバグが見つけられないようだと後で悲惨なことになるから、
そんぐらいは理解できる力を身につけてから本格的にゲーム作りを始めた方がいい気はするな
0728名前は開発中のものです。2011/07/15(金) 22:14:58.07ID:oDrPnm7F
>>724
そもそもここの住人は職業プログラマじゃないもの
良くも悪くも作法や規則には縛られないんだよ
0729名前は開発中のものです。2011/07/15(金) 22:51:01.16ID:gfKG6ymP
>>724
そういう口だけの奴ほどゲームを完成できないという事が
この板全体&ブログでプログラミングについてあれこれ語っている奴をみてきて良くわかった

なんというか無知だけど情熱だけで突っ走っているタイプの方が
ゴール目前まで言っている事が多いww
0730名前は開発中のものです。2011/07/15(金) 22:54:50.89ID:IXhuf8tY
ああ、それはよくわかるw
0731名前は開発中のものです。2011/07/15(金) 23:02:27.32ID:IXhuf8tY
なんつーか、プログラミングでもそうだけど
ゲームの仕様から、キャラ設定に至るまで
「本当にこれでいいのか?もっといい方法があるんじゃないのか?」
って考え始めると、そこから中々進めなくなる
0732名前は開発中のものです。2011/07/15(金) 23:04:19.60ID:EU1MnOaM
しょぼんのアクションとかそんな感じする
0733名前は開発中のものです。2011/07/15(金) 23:05:38.88ID:sINpyDal
俺とかむしろ絵師なんだけどな
ただゲーム作りにおいてオールマイティになってみたかった

ゲームプログラミングの館でC++での解説がないのが問題
0734名前は開発中のものです。2011/07/15(金) 23:06:53.96ID:6TwBqCXy
なんつうか、昔見たソースコード

if文だけを使ったテキストアドベンチャー、作者は超初心者なのだろうけど
膨大な量のif文の羅列

ちゃんと動くのよね。

最初の一歩は、とりあえず完成品を見せること。
次は、改良ですね。
0735名前は開発中のものです。2011/07/15(金) 23:27:54.64ID:KkD5gRas
本当にプログラミング用語を連発している奴は完成しないなw

ゲーム製作に興味が失せたのなら仕方ないが
ジャンルや言語だけがコロコロ変わる
理屈と脳内仕様書だけを熱く語って終わり

仕様書?知らんがなwwww
という感じ場当たり的にゴリゴリやっている奴のがゲーム製作している

しかし後者は70〜90%あたりで壁にぶち当たりβ版で完成としてしまう
ま、前者みたいに口だけで10%で投げ出す奴より良いがwww
0736名前は開発中のものです。2011/07/15(金) 23:33:24.24ID:s1h5mZwt
>本当にプログラミング用語を連発している奴は完成しないなw
てめえw
これでも作ってるゲームは5割以上出来ていて体験版公開もしてるんだぜと自己弁護しておくw

まあ仕様書ナニソレなのはその通りだけどw
0737名前は開発中のものです。2011/07/15(金) 23:38:25.48ID:BoGt4h1A
趣味グラマに対して作法とか正しいプログラミング知識とか何言ってんの。
ゲーム作りたいだけの人間にとっては入門書すら必要ないわ。わからないことだけググってりゃいい。
ひたすらやりたいこと実装してりゃあ完成するよ。むしろ一個一個丁寧に練ってたら終わるものも終わらん。
0738名前は開発中のものです。2011/07/15(金) 23:38:37.23ID:gfKG6ymP
個人ゲーム製作でフローチャートやら仕様書とか言い出す奴はマジで駄目だな
形式重視型はなぜゲームが完成しないんだろ?

「何事も基本に忠実に」ってのが有利なはずなのに、そういうのに重きを置く人達のが投げ出して
そういうのを疎かにしている人達のが完成しやすい

ゲーム製作の謎!
0739名前は開発中のものです。2011/07/15(金) 23:40:52.83ID:8fUW67pn
完成させてほしかったら金出せや
0740名前は開発中のものです。2011/07/15(金) 23:41:12.85ID:KkD5gRas
>>737
激しく同意
0741名前は開発中のものです。2011/07/15(金) 23:43:03.34ID:6TwBqCXy
フローチャートは重要、完成へのキーワードだよ
0742名前は開発中のものです。2011/07/15(金) 23:43:10.93ID:s1h5mZwt
>>738
個人ゲーム製作は行動力が鍵。マジで
考える前に作る。作ってダメだったら捨てる
うだうだ考えるよりもそれが一番早いよ

と、分析にもならない分析をしてみるw

ただ、嵌ってどうにもならなくなるバグに関してだけは把握しておいた方がいいと繰り返してみる
0743名前は開発中のものです。2011/07/15(金) 23:44:52.62ID:PBItPhvX
>>735
壁にぶち当たるのは間違いないね。
完成まではいけるけど、結局自分の手の届く範囲までしかやらない。、
さらに上の段階の物を作れない。作れると思えないから作ろうとしない。
頭良い人なら壁にすらならないものが、全く越せない。
0744名前は開発中のものです。2011/07/15(金) 23:45:26.95ID:BoGt4h1A
>>738
個人ゲーム製作で一番大事なのはモチベーションだからね。
期限もなければ報酬もない。結局時間が経って飽きて、次のゲームに取り掛かるループ。
0745名前は開発中のものです。2011/07/15(金) 23:51:30.05ID:gfKG6ymP
while(寿命>年齢)


if(やる気>0){
 ゲーム製作[i]
 }
 else{
 i++:
 }

0746名前は開発中のものです。2011/07/16(土) 00:08:35.33ID:uC5i05jH
>>737
どうしてこんなに開き直れるのかな、出来ないプログラマーの典型例か
趣味にしろ本業にしろ正しい知識とマナーを身に着けるのは、バグを出さずソフトウェアを正常に動かすために大事なことじゃないのかな
特にC++でソフト作るなら尚更ね、他の高級言語ならまだ作法が緩いだろうけど
完成完成ってうるさく言ってるけど、バグまみれのソフト完成させても自慢にならないでしょ
それにC/C++のメモリアクセスのバグは非常に厄介だし最悪システムに損傷与える可能性もある
自分のPCだけで動かすのは勝手だが、間違っても他人に配布しないで欲しいよな、たとえ無料でも
0747名前は開発中のものです。2011/07/16(土) 00:10:43.60ID:UcTd5alt
どこを縦読み?
0748名前は開発中のものです。2011/07/16(土) 00:15:21.54ID:cmICar1f
ナーシャジベリとかバグだらけだったけど面白いゲーム作ったよな
0749名前は開発中のものです。2011/07/16(土) 00:16:17.51ID:kFJQ2zKw
>>746 
でも完成させなかったら、バグだらけで完成しないよりも意味がない
って言ってんじゃね

モチベーションを上げるためには妄想を膨らませ、完成図を思い描いて興奮してればいいよ
0750名前は開発中のものです。2011/07/16(土) 00:16:39.25ID:0VXQhN1n
出来ない奴のためのDXライブラリでそない講釈たれてどうすんだ
バグ上等の心意気と寛容さがないと前進しねえぞ
0751名前は開発中のものです。2011/07/16(土) 00:17:36.39ID:0cJOmXZJ
どうしてこんなに開き直れるのかな、気持ち良いオナニーを知らない典型例か
趣味にしろ本業にしろ正しい知識とマナーは身に着けるのは、精液を出すチ○コを正常に動かすために大事なことじゃないのかな
特に二次で射精すなら尚更ね、他の高級三次ならまだ作法が緩いだろうけど
0752名前は開発中のものです。2011/07/16(土) 00:20:04.38ID:85RYVyxu
>>750
概ね同意
でもバグ上等は茨の道だぞw
0753名前は開発中のものです。2011/07/16(土) 00:24:20.33ID:UcTd5alt
バグ上等(ゴリ押し)は二点三点する事が多いからバグでても問題ないかな
そうしてバグ混じりだが、自分好みのソースが大量生産され
その結果使えるパーツが増え、ゴールに近づく

頭でっかちな事をやっているなら突き進めって事でしょ
0754名前は開発中のものです。2011/07/16(土) 00:26:15.39ID:85RYVyxu
>その結果使えるパーツが増え、ゴールに近づく
これは本当にあるある
0755名前は開発中のものです。2011/07/16(土) 00:28:06.96ID:W0Lx02Vf
さくっと本で勉強してしまった俺はチキン・・・
0756名前は開発中のものです。2011/07/16(土) 00:29:01.15ID:85RYVyxu
本で勉強することを否定するものじゃないだろうさ
0757名前は開発中のものです。2011/07/16(土) 00:36:59.04ID:wgaFyk/b
>>746
バグ出たら直せばいいと思うよ。つーか、個人規模でバグなんてそんなにでるか?
あなたの応用力がなくて規則通りにやらないとバグでちゃうだけだと思うんだけども。

んで、バグだらけの市販ゲームははたして三流プログラマーが作ったものなのかね。
ゲーム機が壊れるのが怖くて、とてもじゃないけど市販ゲームはできないねw

>>755
参考書の方がまとまってて見やすいし買って損はない。
一冊が高いし、今はネットで気軽に調べられるし言語の勉強したいんじゃなければ買う必要はない。
0758名前は開発中のものです。2011/07/16(土) 00:37:11.96ID:kFJQ2zKw
俺デバッグするたびに1000行ものエラーが出てるの放置してるわ
0759名前は開発中のものです。2011/07/16(土) 00:39:57.13ID:85RYVyxu
>>758
それwarningだろ
どうでもいいレベルのwarningはdisableで黙らせればいいような
0760名前は開発中のものです。2011/07/16(土) 00:50:54.85ID:UcTd5alt
本を活用できるならいいけど
・本で理解した『だけ』
・本を読んで満足
・理解する事ばかり専念して、製作時間を回せない
・本に依存しすぎて応用力が無くなる

ゲーム製作ブログ系ってそんなんばかりだから
本から入る人=駄目ってイメージが付く

ゲームを作るための本なのか、本を元にゲームを作るのか

0761名前は開発中のものです。2011/07/16(土) 00:52:39.53ID:EOb+Dm+N
正しい知識と作法を身につける事は大事だろうが、
それがない、イコール、バグまみれ、というのはいささか決めつけが過ぎるんじゃないか。
0762名前は開発中のものです。2011/07/16(土) 00:58:39.84ID:0cJOmXZJ
>>761
典型的な依存型でしょ
こうなんだから、こうするのが正しい

個人製作でなく、ゲーム製作でなく
業務用プログラマーなら仕様書さえ渡せば、その通りに動いてくれそうなタイプだから
IT土方としてはエリートとかも

単体テストとかやらせたら優秀なタイプ
0763名前は開発中のものです。2011/07/16(土) 01:08:47.84ID:W0Lx02Vf
みんなガンバw
0764名前は開発中のものです。2011/07/16(土) 01:19:28.39ID:JIRfFxXw
>>762
依存症というかそういうのは強迫観念っていうんじゃないか?

作法どうこうよりも、書き方の統一とコメント文がやっぱ大事だと思うぜ
0765名前は開発中のものです。2011/07/16(土) 02:01:47.25ID:h4TaAt5H
メモリ管理とか面倒ならC#でやれば、大体解決!!
ガベージコレクションまじ最高!!
使わないオブジェクトとか放置でOKとかC++で泣いてた俺がお勧めします。
0766名前は開発中のものです。2011/07/16(土) 05:48:48.88ID:p3gzsAfP
寧ろバグ出しまくってこそそのバグに対する対処法が身につくというもの
0767名前は開発中のものです。2011/07/16(土) 06:13:14.52ID:ALZtYvkx
>>746
今時PCに直接損傷を与えるようなメモリバグなんてありえるの?
プログラム終了時にはnewしたものは絶対にdeleteしないといけないとか思ってるタイプ?
0768名前は開発中のものです。2011/07/16(土) 06:34:48.17ID:OLvZatGo
firefoxなんかも超有名だけど、メモリリークが酷過ぎる
0769名前は開発中のものです。2011/07/16(土) 06:46:06.87ID:q6xm95Kb
おまえら一度、外人達が書いた汚いオープンソースのゲームソース読んでみろよ。作法も何もあったもんじゃないが。ちゃんと動くぞ。
0770名前は開発中のものです。2011/07/16(土) 07:13:12.11ID:2ck97nCz
>>767
万太郎乙

c++使えるなら使えばいいんだけど、コスト度外視して人に薦める奴多すぎだろ。
c++使った所でコーディング量減るわけでもないのにさ。
それならcで自作した方が学習コスト分早くゲーム作れるわ。
せっかくDXライブラリがBASIC並に簡単にしてくれてるのに。

つーかどうせ2Dだろ?cで十分だろww
0771名前は開発中のものです。2011/07/16(土) 08:13:17.20ID:pLYO7KAK
情熱で突っ走ると完成する可能性は高いよ
でも、見てきた限りでは何故か独り善がりなクソゲー率も恐ろしく跳ね上がるんだよねw

結局のところ製作と学習にそれぞれどれだけ割り振るかのバランスが大事じゃないのかね

初心者が評判の良い入門書をざっと読むことが害になるとは思えないし、
実地での製作経験がゼロの人がクラスを駆使したデザインパターンまで学んでも
その段階で益になるとも思えない、みたいな
0772名前は開発中のものです。2011/07/16(土) 09:05:49.15ID:e5mA7HFV
>770

DXライブラリが標準でC++用になってるからC++使ってるだけの事。
それをわざわざ違うのにするとかコスト度外視もいいところだよ。
0773名前は開発中のものです。2011/07/16(土) 09:25:09.75ID:0MtWOHmG
細かいこと気にしすぎて進まなくなるよりはがんがん作って経験積んだほうがいいんじゃね
それとそんなに初心者の事考えてやれるなら作り方でもTIPSでもアルゴリズムでも設計方法でもブログなりwikiなりにアップしてやれw
0774名前は開発中のものです。2011/07/16(土) 10:36:00.59ID:9g7TViva
GC付き言語は初心者を狂気の沙汰へ誘うけどな
フレーム更新のたびにnewしまくりとか
0775名前は開発中のものです。2011/07/16(土) 10:48:06.74ID:m79BI446
Cで書いてるったってC++コンパイラ使ってるんだろ?
コーディング量だってテンプレートライブラリ使うだけでも激減するし
変数を途中で宣言とか名前空間だけでも有用すぎる。
わざわざ純粋なC言語として書いてコンパイルする必要性も無い。
0776名前は開発中のものです。2011/07/16(土) 10:48:09.60ID:aA/6UgRO
D言語ですねわかります。
0777名前は開発中のものです。2011/07/16(土) 10:58:50.91ID:dFusLw91
Dなら効率的に書けるかわりに言語仕様の破壊的変更でコードそのものを粉砕してくれるよ!
0778名前は開発中のものです。2011/07/16(土) 11:20:23.22ID:h3pr/4LY
D言語使ってる連中こそ宗教団体のようできもい。少ない仲間を集めて集会開いてるイメージ
0779名前は開発中のものです。2011/07/16(土) 11:40:46.67ID:kFJQ2zKw
そうだな
構造体に関数いれてみたら、なんと動いてしまったからな

俺はcだけをつかってるつもりで、知らず農地にc++を使っているのかもしれん
0780名前は開発中のものです。2011/07/16(土) 12:10:07.20ID:2ck97nCz
>>772
え?
0781名前は開発中のものです。2011/07/16(土) 12:35:42.10ID:9g7TViva
コストとか本人の問題だし、Cに拘る必要が無いのもわかるけど
Cを理解せずにC++なんて無謀にも程があるからな
Cでゲーム作れとまでは行かなくても十分理解するための経験は必要

ところでおまえらは誰と戦ってるんだ。俺は初級者向けの話をしてるもんだと思ったけど
0782名前は開発中のものです。2011/07/16(土) 12:43:01.85ID:jQtLQay0
そら、あの方に決まっているだろう
0783名前は開発中のものです。2011/07/16(土) 12:51:32.03ID:z230hNQ7
メンバに関数持てるってだけで柔軟性が飛躍的に増すからな
そのためだけでもC++にする価値はある
0784名前は開発中のものです。2011/07/16(土) 13:06:31.10ID:z230hNQ7
C++を特別視する思考がサッパリ理解不能なんだが
C++は基本的にCを内包してるんだから、C++を選んで必要な部分だけを使えばいい
>>781みたいな考え方こそ初心者には害悪
0785名前は開発中のものです。2011/07/16(土) 13:14:54.83ID:0FoHCRSv
アクセス権を学べないCから入ると設計をいちいち勉強し直さなければならないし、ここでへんな癖がつくと後々厄介
C++から入ればJAVAでもC#でもASでもあっさり習得できる。この3言語は使えるとなにかと便利
問題点は複数プログラマで作るときに規約をがっちり決めとかないといけないことぐらいなので個人製作ではまず問題にならない
わざわざCから始めるくらいならその時間でアセンブラかじったほうがゲーム制作にははるかに有益だよ
0786名前は開発中のものです。2011/07/16(土) 13:20:23.44ID:HCqN9rBD
そろそろ
0787名前は開発中のものです。2011/07/16(土) 13:24:30.76ID:FSPWn2j2
名人様、布教活動ご苦労様です。
0788名前は開発中のものです。2011/07/16(土) 13:29:09.59ID:lYZzBsKk
>>787
お前は誰と戦ってるんだ???
0789とんちゃもん2011/07/16(土) 13:32:11.97ID:wCHDAvML
C++は最初は全部publicなクラスだけ使ってればいいと思いますね。
継承とかはあとあと覚えたら使うぐらいの気持ちで
とりあえずファイル拡張子を.cppにしておけばいいのですよ。

あとはjavaを少しずつ学んでいると
クラスのパターンとか名前のネタや無名クラスの使い方とかが身につくかも。
ちなみにC#ではなくjavaなのはググったときの情報の質です。。
0790名前は開発中のものです。2011/07/16(土) 13:38:42.88ID:E5Gulc9V
経験積んでから〜なんて言ってたらいつまでたっても始まらんよ。
案ずるより産むが易し。迷わず行けよ。行けば分かるさ。

初心者はまず手を動かすこった。
0791名前は開発中のものです。2011/07/16(土) 14:43:19.45ID:z230hNQ7
C++の細かい内容は
「うーん、○○したいけど上手く行かない・・・何か良い方法ないかな」
って思ったときに参考書パラパラめくる程度でおk
0792名前は開発中のものです。2011/07/16(土) 14:48:06.67ID:kFJQ2zKw
ほんとLoadGraph関数って面倒事起こしまくるな

なんで他の値は全部格納されてるのに、画像ハンドルだけ格納されてないんだ
ステルス機体ばっかじゃねーかよ
0793名前は開発中のものです。2011/07/16(土) 15:36:24.67ID:h4TaAt5H
>>792
戻り値が-1になってないか?

原因としては
・初期化前に呼んだ
・ファイルのパスが間違ってる
・そもそも戻り値を取得してない
・取得はしたがスコープが変

って感じだと思うぞ
0794名前は開発中のものです。2011/07/16(土) 16:34:48.36ID:UcTd5alt
>>792
超初心者だけど俺も詰まった所
そしてあれこれ考えるのが嫌でDeleteしてからLoadするように組み合わせた
ググればもっといい対処方法がみつかったりもする

Deleteせずに同じ画像ファイルをなんども呼び出したり
Deleteのタイミング次第で、意図しないハンドルが消える
0795名前は開発中のものです。2011/07/16(土) 16:38:59.05ID:z230hNQ7
そもそもDeleteせずに同じ画像ファイルを何度も呼び出すのが良くない
そんなことやらないからどんな不具合が生じてるのか分からんけど
0796名前は開発中のものです。2011/07/16(土) 16:44:32.96ID:UcTd5alt
>>795
当初は

func()
{
gazou1=LoadGraph()
0797名前は開発中のものです。2011/07/16(土) 16:47:02.07ID:UcTd5alt
途中で送信してしまった

といった感じの関数を作り、同じ画像ファイルを呼び出だしたとしても
入れる変数は同じだから上書き保存!的な処理にしたつもりだった

まぁ、792がどういった感じで詰まっているかは知らんけど
0798名前は開発中のものです。2011/07/16(土) 16:48:35.02ID:z230hNQ7
>>797
それアウト
Deleteしないとメモリ領域が開放されないから、重複読み込みはそのままメモリリークになる
0799名前は開発中のものです。2011/07/16(土) 16:49:47.29ID:z230hNQ7
>>798
あ、ちょっと使ってるバージョンが古いから最新版では対策入ってる可能性もあるけどね

けど、動的に確保されたものはきっちり解放する癖をつけないとメモリリークに悩まされるよ
0800名前は開発中のものです。2011/07/16(土) 17:00:08.86ID:m79BI446
自前のCreateとDeleteするクラスor関数作って
mapでファイル名キーで参照カウンタ変数とハンドル保持して
Createで読み込み済みならそのハンドルでなければ新規読み込みしてカウンタ+1
Deleteでカウンタ-1してカウント0なら削除
という仕組み作ればOk

外部でdeleteされる対策とかスマートポインタみたいのは難易度あがるから言語が使えるようになってから。
0801名前は開発中のものです。2011/07/16(土) 18:15:05.42ID:Ucr+hS0Q
何というか、やっぱメモリ領域の概念に関して「だけ」はきっちり理解しておいた方がいいんだろうなと思った
>>797みたいに落とし穴にはまって気付かないこともあるわけで

だからといって>>781みたいな意見には全く同意できないがw
0802名前は開発中のものです。2011/07/16(土) 18:19:43.25ID:h4TaAt5H
ってか、使い終わったリソースって、開放しないのが初心者なのか
それ以前に、せっかくメモリに確保したハンドルを使いまわししないで
新たに同じ画像を読むというのが、どうしてそういう処理するのか理解できん

ゲームの基本処理って

データのロードと作成

操作とか当たり判定とかの処理
↓ ↓(ループ)↑
↓ 画面の描画

後片付け

って流れだと思うんだが、もしかして
AVG形式のエンジン部分で、1フレーム毎に必要な
画像をメモリにロードするとかって作業をしてるのか?
0803名前は開発中のものです。2011/07/16(土) 18:24:55.55ID:z230hNQ7
>>802
毎フレーム読み込みってのは初心者が一番最初にやらかすことはあるみたい
まあそれは流石に重くて気付くことが多いみたいだけどね

けど頭にメモリの概念が無いと、新たに画像を読むっていうことを躊躇無くやってしまうんじゃないだろうか
メモリ関係のバグは厄介だし、メモリに関しては概念くらいは理解しておいた方がいいと思う
0804名前は開発中のものです。2011/07/16(土) 18:27:33.65ID:9g7TViva
CありきのC++だと言いたかっただけなのに
そりゃ俺だってC++なしでゲーム作ろうなんて微塵も思わないしやったこともないからw
0805名前は開発中のものです。2011/07/16(土) 18:29:59.03ID:F/OSlBAu
LoadAllGraph( int Stage )
{
//すべてのハンドルに対してDelete
DeleteGraph( Handle1 );
DeleteGraph( Handle2 );
DeleteGraph( Handle3 );


switch( Stage )
{
case 0:
Handle1 = LoadGraph();
Handle2 = LoadGraph();

break;

case 1:
Handle1 = LoadGraph();
Handle3 = LoadGraph();

break;



}

へたれ趣味グラマだからシーンごとにこういう関数呼んでる
0806名前は開発中のものです。2011/07/16(土) 18:30:21.67ID:UcTd5alt
>AVG形式のエンジン部分で、1フレーム毎に必要な
>画像をメモリにロードするとかって作業をしてるのか?

それに近いことをやる事になっているな
ドット絵なんだけど1キャラあたり 400x400 1動作あたり10モーション 1キャラあたり8動作 300x300の画像が8*10で80枚
(数字は大袈裟にしているがそんな感じ)
そういうキャラを数十体同時に出そうとして、始めに画像情報を全部読み込んで〜ってプランは早々に変更することになった

普通はそんな作りにしないんだろうけど
0807名前は開発中のものです。2011/07/16(土) 18:32:56.94ID:zHxOgPg/
ポインタを理解しようとしたらメモリに対して理解深まるよ
0808名前は開発中のものです。2011/07/16(土) 18:38:16.42ID:z230hNQ7
>>805
俺は使う画像と使わない画像をフラグで管理して、立ってるものは読んで立ってないものは消すようにしてる
画像は管理用のクラス作って、自分がいじるのはそのクラスの内容

プログラム初期化時、画像管理クラスにファイルアドレスをセット。
別に画像管理クラスへのアドレスを一覧としてまとめた配列を用意して、ファイルアドレスセット時にこの配列にクラスのアドレスを登録
読み込み/消去はこの配列を利用してイテレート

ってやって取りあえず冗長な部分はなくせたと思う
0809名前は開発中のものです。2011/07/16(土) 18:43:54.57ID:z230hNQ7
概念的にはこんな感じ

class csImageInfo{
 char *addr;
 int Flag:
 public:
 int Set(char *addr);
};

class csImage{
 csImageInfo *list[num_max];
 public:
 int Update(){
  for(int i = 0 ; i < num_max ; i++){ ... }
 }
};
0810名前は開発中のものです。2011/07/16(土) 18:47:06.91ID:0cJOmXZJ
>>805>>808がよく言われる
完成一歩手前知識不足製作者

知識ばかりで実際にゲーム製作は頓挫する奴
の構図に思えるwwww
0811名前は開発中のものです。2011/07/16(土) 18:50:40.65ID:z230hNQ7
>>810
凄い節穴だなw
残念だけど、完成させたことくらいあるよw

ってか俺はずっと考えるよりも行動することが大事だって言い続けてるんだがw
0812名前は開発中のものです。2011/07/16(土) 18:55:34.93ID:T7rza4pD
むしろ「知識があるだけ」と「実践的なコードが書ける」の区別も付かない>>810は節穴ってレベルじゃない。
差詰め『「知識ばかりで実際にゲーム製作は頓挫する奴」をただ笑って何もしない野次馬』ってところか。
0813名前は開発中のものです。2011/07/16(土) 19:16:33.63ID:dORdlUJG
ID:0cJOmXZJにプログラムの技術がほとんどないってことだけはよく分かった

ずれたツッコミって怖いね。うっかりすると自分のバカさ加減をさらけ出してしまう
0814名前は開発中のものです。2011/07/16(土) 20:15:58.09ID:2knes7vQ
>>805
俺もほぼそれ
せめてシーンをクラスに分けて、ロードとアンロードできないか考えているが
今は別のことをしている
0815名前は開発中のものです。2011/07/16(土) 20:23:28.48ID:vooezzL1
>>805
どう考えてもそれで十分。
0816名前は開発中のものです。2011/07/16(土) 20:34:33.66ID:FQZymoE0
私はRAIIでやってますね
0817名前は開発中のものです。2011/07/16(土) 20:36:47.12ID:UcTd5alt
>>805
それで十分なんだよね
なんかあれこれやってより高機能にしたがる人がいるけど

力を入れるところはそんな所じゃねーだろwと良く思う
0818名前は開発中のものです。2011/07/16(土) 21:15:27.69ID:8mSTYw0d
一番最初に作ったゲームは

if(scene==0)
{
 //タイトル画面
}
else if (scene==1)
{
 //プレイ画面
}

だったなあ。
第2作目でやっと関数分けされた。(それでも分岐はifのまま)
0819名前は開発中のものです。2011/07/16(土) 21:17:18.56ID:ALZtYvkx
まあ作ってるゲームによるよね
ビッグスケールだと>>805の方法じゃ破綻するし
■ このスレッドは過去ログ倉庫に格納されています