[過去ログ] 無料で俺がRPGを作れるようにするスレ (474レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
178: 04/03/14 17:48 ID:a3XrN6fU(1) AAS
>>176
とりあえずエラーを貼り付ける。
179
(3): 98 04/03/14 22:20 ID:13t3R65N(1/2) AAS
エラー E2034 zz53.cpp 135: 'void *' 型は 'HBITMAP__ *' 型に変換できない(関数 __s
tdcall WndProc(HWND__ *,unsigned int,unsigned int,long) )

エラー出るソース
外部リンク[txt]:www.geocities.co.jp

(HBITMAP)つけてみたらコンパイルは通ったんですが、DIBSectionには何もさせていない
のに、強制終了します。

本はCで書かれているんですが、自分の書いてるのがたぶんC++なので、
省1
180: 04/03/14 22:32 ID:RZwlVtdf(1) AAS
>>179
>(HBITMAP)つけてみたらコンパイルは通ったんですが、DIBSectionには何もさせていない
>のに、強制終了します。

とりあえず、怪しいところをコメントアウトするなり変数の値を表示さ
せるなり(デバッガがあるならブレークポイントを入れる)してどこで
落ちるのか、特定してみた方が良いね。

>本はCで書かれているんですが、自分の書いてるのがたぶんC++なので、
省8
181: 98 04/03/14 23:00 ID:13t3R65N(2/2) AAS
ゲームプログラミング練習帳 という本見てます。

デバッガですが、今問題にしている部分より前の段階ですでに止まってくれるので
使い物にならない状態です。止まる部分も、CとC++の違いのせいの気がします。

Cは全然知らないんですが、見ているサイトも本もCを使ってAPIの解説をしているので、
Cで書き直すのが早いような気がしてきました・・・
182
(2): 04/03/14 23:21 ID:gdC9c3eD(1/2) AAS
>>179
原因は133行目の&lpPixel。
hBMP = CreateDIBSection(hdc , &biInfo , DIB_RGB_COLORS , (LPVOID *)(&lpPixel) , NULL , 0);

hBMP = CreateDIBSection(hdc , &biInfo , DIB_RGB_COLORS , (LPVOID *)(lpPixel) , NULL , 0);

おかしな指定をしたせいで、lpPixelのポインタの値が変な値に書き換わって壊れてしまっている。
HeapAllocしたときのlpPixelの値と133行目でのlpPixelの値を調べてみれば、壊れているのが分かるはず。
省1
183: 04/03/14 23:32 ID:gdC9c3eD(2/2) AAS
あぁ、97行目の
>iOffset = *(LPDWORD)(lpBMP + 10);//iOffset ピクセルが格納されてるアドレス、ここでなぜかデバッガ止まる
でとまるのは、BMPファイルが見つかってないからでしょ。多分。
ちゃんとCreateFileのエラー処理を汁!

あと、
>(HBITMAP)つけてみたらコンパイルは通ったんですが、
これは、Windows的には正しい。Cだと書かなくてもコンパイルと折るけど、
省1
184: 182 04/03/15 00:06 ID:mfA2vkrj(1) AAS
ごめn>>182は違った。
CreateDIBSection()なんか久しぶりに使ったから忘れてたよ。

>>179の使い方なら、
hBMP = CreateDIBSection(hdc , &biInfo , DIB_RGB_COLORS , NULL , NULL , 0);
でいいんじゃない?一応うごいたよ。
185
(1): 04/03/15 00:14 ID:BH49Bw7k(1/2) AAS
ちうか、CreateDIBSectionで作ったビットマップ使って無いじゃん…
あと、hdcをグローバル変数にするのはよくないと思う。
186
(1): 98 04/03/15 00:37 ID:YR7Ealek(1) AAS
>>182
(LPVOID *)(lpPixel)でもNULLでも動きました。

CreateDIBSectionの第4引数にはポインタのポインタを指定しなければいけないのに、(LPVOID *)(&lpPixel)
だとアドレスのポインタのポインタだから間違いというところまでは分かったんですが、
Cだと(LPVOID *)(&lpPixel)が正しくて、C++だと(LPVOID *)(lpPixel)が正しいということは
ポインタの書き方がCとC++で違うということなんでしょうか。。

>>185
省4
187: 04/03/15 11:07 ID:BH49Bw7k(2/2) AAS
>>186
>(LPVOID *)(lpPixel)
は間違い。
引数の指定の仕方としては、もとのソースの(LPVOID *)(&lpPixel)が正しい。

ただし、(LPVOID *)(&lpPixel)のままだと、CreateDIBSectioiでlpPixelが上書きされてしまうから
今度は透過処理の部分で今度は止まるよ。
CreateDIBSectionの説明をよく読んで、正しく使うべし。
省2
188: 04/03/16 21:28 ID:av2PqUu3(1) AAS
ローカル変数は関数の冒頭で処理を記述する前に宣言する。
C言語の場合はね。
C++はドコでも良いことになっている。
189
(1): 98 04/03/16 23:08 ID:ALMDs/3/(1) AAS
難しくて混乱してきたのでちょっと整理
1.DIBとしてもDDBとしても操作可能なビットマップをCreateDIBSectionで作る
2.デバイスコンテキストを2つ用意する
3.デバイスコンテキストAに表示するマップより1マス分大きいマップを描画する。
4.AからデバイスコンテキストBに表示する部分だけ描画
5.Bから画面に描画

たぶんこうすればいいんだと思うんですが、4くらいで行き詰ってます。
省1
190
(2): 04/03/16 23:47 ID:R0OmoIwo(1) AAS
>>189
DIBSectionベースで、一マス多く描いたスクロール用ビットマップから
表示用ビットマップに転送していく、というのならこんな感じでやるとか。

外部リンク[html]:www.sm.rim.or.jp
191
(1): 04/03/16 23:52 ID:PRaC3s4r(1) AAS
だめですた、とかいうなら、詳細な症状を言うか、ソースを提示すべし。
初心者はエキセントリックなソースを書くからな。

>3.デバイスコンテキストAに表示するマップより1マス分大きいマップを描画する。
そんなことはない。CreateDIBSectioniで作るのはウィンドウサイズと同じ大きさで良いよ。
というか誰だよこんな嘘おしえたの。わざわざ難しく教えて面白いのか、といいたい。

これまでウィンドウのhdcに対して行ってきた描画とまったく同じ事をCreateDIBSectioinで
つくったDIB(を設定したhdc)に行えばいい。
省6
192
(2): 98 04/03/17 00:57 ID:AN01uPyl(1/2) AAS
>>190
今の状態でマルチスレッドにまで手を出すのはちょっときついです・・・

>>191
外部リンク[txt]:www.geocities.co.jp
StretchDIBitsのデバイスコンテキストをhdcにすれば描画されるんですが、1段階ふむとなぜか
だめです。

>なぜちらつきが起こるか
省1
193
(1): [俺は解読に2時間もかかったアホage] 04/03/17 02:56 ID:QickIzjR(1) AAS
>>192
なぜかじゃねーよ。
まじで、ローカル変数のこと勉強しろ!今すぐ。
変数スコープって分かるか?

まぁ、一応答えを。
↓をグローバル変数に。以上。
86:HDC hdcBMP;
省4
194: 190 04/03/17 07:13 ID:EmljVs5P(1) AAS
>>192

いや、マルチスレッドにしろという話じゃなく、描画の流れを参考にしたら、ということなんだがw
195: 04/03/17 09:55 ID:ukkq6pEc(1) AAS
>>193
まぁ落ち着けや。
196
(1): 98 04/03/17 23:43 ID:AN01uPyl(2/2) AAS
変数と、ついでにクラスも勉強しておきました。
>変数スコープって分かるか?
:: 知らなかったけど使ってみます。

先に進むの禁止されたのでソースを見やすくした。
外部リンク[txt]:www.geocities.co.jp
スクロール中に画面が消えるのは仕様なので気にしないでください
197
(1): 04/03/18 00:33 ID:Si6/VCoc(1/3) AAS
つーか、OO使わないのかね?
198
(1): 04/03/18 00:33 ID:Si6/VCoc(2/3) AAS
ヤターIDにVCデタヨー
199
(1): 04/03/18 02:13 ID:XsvAPJOC(1) AAS
>>196
グローバル変数は「使う目的を明確にあらわした」変数名をつけるようにね。
たとえば、「lpbiInfoってどのBITMAPの情報なの?」ということが、変数名を見ただけで分かるように。

んで、前からずっと気になってたけど
>while((timeGetTime()-timeSc)<SecondPerSc);
このビジーループは本に載ってたやり方なの?
もしそうならその本は糞と認定せざるを得ないので書名を教えて。
省1
200
(8): 04/03/18 02:53 ID:Si6/VCoc(3/3) AAS
今始めてマトモにソース見たんだが・・・・
猫でもわかるプログラミングから始めることをお勧めする。
もっとコンソールいじってからにしておきなさい。
201
(2): 98 04/03/18 23:35 ID:r5sO1u2T(1) AAS
>>197
よく分からないのでたぶん使わないです。

>>198
おめでd

>>199
自分で作ったSleepもどきです。
ビジーループでググったら、負荷が高くなるからやめろと書いてあったので
省4
202
(1): 04/03/19 00:17 ID:whgiIXKB(1) AAS
>>201
>自分で作ったSleepもどきです。
>ビジーループでググったら、負荷が高くなるからやめろと書いてあったので
>他のやり方を考えてみます。
そか。えらい。

あとは、ちゃんとしたゲームループを作って、
・入力→ゲームの状態(主人公のマップ上での位置とか)の更新
省4
203: 200 04/03/19 08:07 ID:5YapUc1Z(1) AAS
>>201

気持ちは分かるんだけど、せめて一回くらい目を通しておくべきだと思う。
それだけで大分違うはず。
204: 98 04/03/20 18:53 ID:th+dSxtZ(1/2) AAS
>>202
NPCの数が一定ならなんとか作れそうなんですが、
不定になるとどうやればいいのかさっぱりです。

>>200
理解したかどうかは置いといて、一通り読んでおきますた。

今のまま作っていくとグローバル変数だらけになりそうなので
外部リンク[txt]:www.geocities.co.jp
省2
205
(1): 98 04/03/20 23:02 ID:th+dSxtZ(2/2) AAS
たぶん完成。上がソースで下が実行ファイル
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp

・ちらつきが減った。
・グローバル変数が少し減った。

次はマップ切り替えは中止して、エンターキーを押したらコマンドが出る、というのをやろうと思う。
206
(1): 04/03/20 23:23 ID:70F0it+2(1) AAS
まだちょっとちらつくのは、InvalidateRectの最後の引数がTRUEだから。
あと、無意味なクラスが気持ち悪いぜ!
207
(1): 04/03/21 00:26 ID:BKuLrlOv(1) AAS
>>205
動くが遅いけど、逆にそれが心地よかったり。クラスが分からんから
見れないけど、遅いのはたぶん1ドットずつずらしてるからだと思う。
2ドットずつ、極端な話32ドット一変にずらしてしまうと早くなると思う。

>自分で作ったSleepもどき
自分もコンソールの時はそれで、ウィンアプリの時はちゃんとPeekMessageを
使わずGetMessage+イベント取り分でやってた。ライブラリのTimerだと精度が
省8
208
(1): 98 04/03/21 19:51 ID:P8h6pce6(1/2) AAS
>>206
ちらつき撲滅できますた!

>>207
ビジーループを避けるためにいろいろ工夫したら結局Sleepになってしまった orz
>コメントをしっかりつけるようにしています
これいいですね。真似してみます。

コマンドは無理だったので、メッセージウィンドウ表示。
省5
209
(1): 04/03/21 20:02 ID:lBIVIhzW(1/2) AAS
静止状態では、結局CPU100%使っちゃってるよ。だめじゃん。
あと、マップ表示がスクロール終わるまで帰ってこない関数って後で困るよ。
スクロールしてる最中に同時にNPCを動かしたくなったらどうするのさ?
210: 98 04/03/21 20:27 ID:P8h6pce6(2/2) AAS
進むの中断して組みなおして出直してきます。。
211
(3): 04/03/21 21:20 ID:lBIVIhzW(2/2) AAS
スクロール位置の更新と描画が分離されてなかったり、
GDIじゃなくDirectXつかってたりするが、
↓見たいな感じにすればいいよ。
外部リンク[html]:www.sm.rim.or.jp

ゲームプログラミング練習長持ってるんだっけ?
読んだこと無いけど、そっちのほうもこういう処理になってない?
212
(1): 98 04/03/22 21:35 ID:qIg3ILGt(1/2) AAS
>>211
見てみました。↓draw()でSleep代わり?にこうしてるみたいなんですが、
if (GetTickCount()>dwTime+5) dwTime=GetTickCount();
else return;

前に自分で作ったのが↓
dwTime = GetTickCount();
while(GetTickCount()<dwTime+5);
省3
213
(1): 04/03/22 22:18 ID:IkgfwbwO(1) AAS
AA省
214
(1): 練習帳著者 04/03/22 22:50 ID:8UFWL+KK(1/2) AAS
>>212
>if (GetTickCount()>dwTime+5) dwTime=GetTickCount();
>else return;

これは、一つのif文の中で書けば

if (GetTickCount() > dwTime + 5) {

 dwTime = GetTickCount();

 ゲームの処理(draw()の中身)
省10
215
(1): 練習帳著者 04/03/22 22:58 ID:8UFWL+KK(2/2) AAS
まあ、実際にRPG作ってみると「一定の周期で処理を行う関数」にゲーム
の処理をすべてまとめるのは無理があるから、メインループよりはゲーム
処理用にスレッド作った方が楽になるかな、という気がしてきたんですが。
特に厄介なのは、戦闘シーンやイベントの待ち時間・・・。 最初はあち
こちでPeekMessege()してたけど、これはちょっと違うかな、と。

スレッド作れば、最悪無限ループにしてもUI停まりませんからね(^^;。
もちろん、最終的なプログラムにするときにはスレッド内からの終了処理
省8
216: 04/03/22 23:27 ID:hc5U3G0l(1) AAS
本物キター
217: 04/03/22 23:29 ID:mioo0vPT(1) AAS
著者降臨age!
218: 04/03/22 23:33 ID:nq9Pmduh(1) AAS
上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな
上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな
上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな
上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな
上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな
上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな
上げ忘れちまったよ。ごめんな上げ忘れちまったよ。ごめんな
省4
219: 98 04/03/22 23:46 ID:qIg3ILGt(2/2) AAS
>>213
ああ、分かりました!
1ドット描画するたびに関数を終了して、グローバル変数とか構造体とかで
描画回数をカウントしておいて、1マス描画し終わったらカウンタリセットする。
すると割り込み処理ができるようになる。

>>215
うお・・・著者様ですか・・・
省2
220
(1): 04/03/23 00:02 ID:4auKbf0z(1) AAS
>の処理をすべてまとめるのは無理があるから、メインループよりはゲーム
>処理用にスレッド作った方が楽になるかな、という気がしてきたんですが。
この辺は、伝統的には所謂タスクシステムで解決してきたのかな。
スレッドだと同期が大変過ぎるしこういう用途には重すぎると思う。

まぁ、タスクシステムっていってもいろいろなやり方があるみたいだけど…
221: 04/03/23 00:47 ID:9F6tXsaP(1) AAS
シナリオスクリプトを実装する時にはスレッドにしたりもする
ファイバー(コルーチン)という手もあるようだけどね

異なるプログラム方式の連携
外部リンク[html]:www.jah.ne.jp
222: 04/03/23 01:05 ID:PMWtRlHb(1/5) AAS
シナリオなんかだと、タスクシステムでコールされるタスク関数を
ファイバ(マイクロスレッド、コルーチン、継続でもOK?)にしておくと
効率よく開発できるかな、とかおもったりしたけど全然試してない。

このへんは、やね本2だかに書いてあるらしいけど読んだこと無いです。
223
(1): 04/03/23 02:20 ID:JCV/36ob(1/3) AAS
俺もスレッド使わないほうがいいと思う
マルチスレッドを毛嫌いするわけじゃないが、明確な理由なしにスレッド化するのはやめたほうがいい
ゲームで必要になる場面があるとすれば、SLGの思考ルーチンくらいだと思う

で、ちょっとスレ違いの話題になるが、
ファイバってCreateFiber関数とか使う奴のこと?
だとするとあんなの使わなくても関数ポインタ切り替えでいいじゃん、と思うんだが・・・
#少なくともゲームにおいては。なんかいい利用方法あるならスマン
224
(2): 04/03/23 02:48 ID:PMWtRlHb(2/5) AAS
>だとするとあんなの使わなくても関数ポインタ切り替えでいいじゃん、と思うんだが・・・
その関数を減らすために使うんだよ。

普通はその関数の操作対象のオブジェクト(やシーンなど)の状態が変わったら
関数を切り替えるわけでしょ。ファイバを使うと、その「状態」が「関数をどこまで
実行したか」で表せるようになるから、状態ごとにいくつかに分かれてた関数を
ひとつに出来る、と。

まぁ、でもこういうのは大概スクリプトで実現するような気がしないでもない。
225
(1): 223 04/03/23 05:14 ID:JCV/36ob(2/3) AAS
>>224
ちょっと待て、その利点は間違ってると思うぞ
ファイバ使っても関数減らすことになるとは思えない

このスレなのでRPGの例で行くが、
RPGにおける「状態」ってたとえば
・マップ移動(キー入力待ち)
・マップ移動(スクロール)
省6
226: 04/03/23 08:41 ID:PMWtRlHb(3/5) AAS
>>225
もっと先の話だよ。
イベントシーンとかそのへん(応用先はそれだけじゃないよ?)
スレ違いだが、シューティングの敵の動きの記述に使ったりもした。
227
(1): 04/03/23 09:03 ID:PMWtRlHb(4/5) AAS
AA省
228
(1): 練習帳著者 04/03/23 09:10 ID:R4NaancD(1) AAS
>>220
別スレッドの利点は、他のスレッドと同期する必要をなるべく生じさせ
ない、ゲームに関する処理を一本道の流れに分離しておくような形式に
できた場合、Windowsのシステムの流れをあまり意識しないでゲームの
処理に集中できるかな、と。

実際、戦闘やスクリプトベースのイベント処理も含めてRPGのデータ処理
やバックバッファ(あとはウインドウのDCに出力するだけのDIBSection)
省14
229: 04/03/23 11:14 ID:PfXAGYNf(1) AAS
エェー?本当にちゃんと同期できてる?データの整合性もちゃんと保ててる?
マルチCPUの場合は、同じデータをアクセスするコードが「同時に」2つ以上走ることも
あるんだよ?

マルチスレッドは、データの不整合性、デッドロック、抜け出せないロッキング、
優先順位の逆転などなど気をつけないといけない罠が多すぎるので、どうしても必要
なところ意外では使わないことにしてるよ。
スレッドがだめって言ってるわけじゃないけど、初心者向けでは無いよね。
省2
230
(1): 04/03/23 12:01 ID:JCV/36ob(3/3) AAS
>>227
んー・・・なんとなく言いたいことは分かった、ありがとう
けどやっぱタスクシステムから乗り換えるほどの理由じゃないっす
#スレ違いすまんがSTGの敵の動き制御部分は特に意味がなさそう
#理由はたとえば同じ種別の敵が10いたら同じ関数を10回実行しなきゃいけない。
#けど同じ関数を回すわけだから結局状態データは外部に置かなきゃいけない
#同じ関数を10個ファイバとして登録して再利用するにしても、
省8
231: 04/03/23 12:25 ID:rzkxl8IS(1) AAS
>>230
>けどやっぱタスクシステムから乗り換えるほどの理由じゃないっす
いや、タスクシステムと併用するんだよ当然。
タスクシステムからタスク関数を呼び出すと思うけど、それをファイバにするという話。

>#同じ関数を10個ファイバとして登録して再利用するにしても、
>#結局被弾したとかの状況によって初期化するわけだから外部で制御しても大差なし
まぁ、被弾とか非同期で状態が変わる部分は、別関数にせざるを得ないよね。「例外(Exception)」だし。
省7
232: 04/03/23 16:31 ID:cY6fF1y+(1) AAS
マルチスレッドにする利点はタイトルバーをクリックしても処理がとまらないことかな
233: 98 04/03/23 21:04 ID:s4+zR2jB(1) AAS
よく分からないんですけど、マルチスレッド使えないとやばいっていうことでしょうか?

今度こそマップスクロール完成版↓
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp

・静止状態にCPU100%になっていたのを修正(Sleep(1);をつけた)
・メッセージウィンドウ表示時にCPU100%になっていたのを修正(Sleep(1);をつけた)
・描画関数を2つに分割
省1
234: 04/03/23 21:12 ID:PMWtRlHb(5/5) AAS
んじゃ、次は、DrawMapの、「〜スクロール時描画」を「静止マップ表示」ひとつにまとめよう!
これでかなりすっきりするはず。
235: 98 04/03/24 22:18 ID:w/FFfgKd(1) AAS
すっきりしたかどうか分かりませんが、まとめてみました↓
外部リンク[txt]:www.geocities.co.jp
・描画方法を少し変更

メッセージウィンドウ表示は置いといて、次はNPCを作ってみる予定
236: 98 04/03/29 19:11 ID:hm6pjM86(1) AAS
ログが消えてる(´・ω・`)

NPCの移動をなめらかに描画するのが難しいんですが、
なんかいい方法とかないでしょうか・・・
237: 98 04/03/30 22:16 ID:W6u+pmd7(1) AAS
NPCがどうしてもうまく描画できないので、マップ自体の描画方法を
「何か起こったら描画」から「常に一定時間おきに描画」に変更してみた。
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp

方向性が間違ってるような気がしないでもないんですが、
こういう描画方法でもいいんでしょうか
238: 98 04/04/01 21:53 ID:xdIEUIEH(1) AAS
NPCなめらか移動
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp

NPCの移動がランダムではないような気がする。
気のせいかもしれないけれど、ある方向にいったん進んだら、
次に進む方向も同じになる確率が高い。

次は当たり判定をつけようと思う。
239: 200 04/04/02 00:46 ID:HxQygUy0(1/2) AAS
srand((unsigned)time(NULL));
は、最初に一回だけね。ループには入れないで。
srandは乱数ジェネレータの初期値。
rand()関数はsrandを実行しなくても一回一回違う値を返すけど、もう一度プログラムを実行してもまた同じ値を返してきてしまう。
一回目の結果:7,2,5,6,4,1...
二回目の結果:7,2,5,6,4,1...
こんなカンジで。
省6
240: 200 04/04/02 00:49 ID:HxQygUy0(2/2) AAS
あ、別のサイトだったっぽいです。
241: 98 04/04/02 20:19 ID:RjQBCx/D(1) AAS
おまじない程度の認識しかなかったので、ここが原因とは思いませんでした。
ランダムに動くようになりました。

ふと思ったんですが、WINAPIなら timeGetTime()%10; でも0~9のほぼ乱数ができるような
気がするんですが、これって邪道でしょうか。
242: 98 04/04/02 22:26 ID:OS/Q3nYt(1) AAS
↑自己レス 同時に複数の乱数を得たいときに不便なのでやっぱりだめ

当たり判定をつけた。ついでに歩行アニメーションもつけた。
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp

次はマップエディタを作る予定。
243
(1): 98 04/04/03 22:19 ID:eDSQOtXr(1) AAS
マップエディタセーブ機能なし
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp

マップエディタ作る時間 > テキストでマップを作る時間
な気がしてきた。

APIのファイル操作はできれば避けたいんですが、
#include <window.h>をすると#include <fstream>できなくなるんでしょうか?
244
(1): 練習帳著者 04/04/03 23:40 ID:ClmmNDdO(1) AAS
>>243
マップエディタはイベント配置機能なども含めRPG開発では必須
になるけど、開発するのは本体よりも大変かもしれませんね。
まあ、開発自体が良い練習になるしマップの仕様はゲーム設計で
いくらでも変わるから、時間はかかっても独自のマップエディタ
を作るのも良いでしょう。

あと、バイナリファイルは、特に理由がなければAPIで扱うのが
省1
245
(31): 04/04/04 00:10 ID:8gkVG1Fa(1) AAS
私も参戦してよいでしょうか。
環境はVC++6だけど、DirectX(8or9)つかうかWinAPI(SDK)だけで行くか悩み中。
SDKだけでいけそうだけど、勉強のためにDX使おうかなぁとも。
覚えたほうが後々いいですかね。。(どうでしょう?)

とりあえずマップチップ表示してその上を歩き回れるようなものを作ろうと思ってるんですが。
246: 98 04/04/04 19:29 ID:mMmF0Gyi(1) AAS
>>244
マップエディタも奥が深いんですね・・
作成したマップをどういう形式で保存するかっていうのも悩みどころです。

>>245
言語問わず参戦歓迎です。
マターリがんがりましょう
247: 98 04/04/04 23:33 ID:t/HUZNZd(1) AAS
右クリックすると、直前に描画したマップの種類をテキストに出力するようにした。
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp

保存の仕方がいまいちよく分からないので、
配列で記録しておいて、こぴぺでソースに貼り付けれるようにする予定。
248: 245 04/04/05 00:00 ID:Exj/seSL(1/2) AAS
ども。
では最初の目標として、
なんか表示してキーボードで動かせる奴を作ってうpします。
DX使うかまだ未定。訳わかんなかったらSDKでやります。
249: 04/04/05 12:22 ID:qkWA7QuF(1) AAS
SDK -> Software Development Kit
250: 245 04/04/05 13:40 ID:Exj/seSL(2/2) AAS
WinAPIどぅえす。
どっかのサイトでAPIのみでつくるのをSDKって言ってんの見て変な癖ついちゃいました。
それで、やっぱDirectXはこのくらいの規模の2Dもので使うにはめんどいだけで
恩恵無さそうな気がしてきたので使わないかもしれません。
(突っ込みが欲しい所であります。)
251: 98 04/04/05 20:25 ID:jO2LaB8o(1) AAS
俺はDirextX使えないけど、将来的にすごいもの作ろうとしたら
避けて通れない道な気がするから、敢えて使ってみるのもいいかも
252
(2): 245 04/04/06 14:51 ID:I/KdK9GY(1) AAS
実は超最終的な目標は3Dのネットゲー作りたいんですよねぇ。
だからDXは絶対覚えないと・・・
でもCのプログラミング自体基本ができてないから
とりあえず難しいDXは抜きに多少使った事があるAPIでやって、
C自体の基本的なところの習得に集中してからDXに移ろうかなぁ
なんて気分になってきました。
253
(1): 98 04/04/06 20:50 ID:VKrLl24Q(1) AAS
>>252
教材が見つからなかったんで、俺は諦めたけどELっていう手も。
でもAPIの知識が必要だった気がするから、結局APIだけでやってみるのが
一番いいのかもしれません・・・

初期化ファイル(MapDataAlpha.ini)にセーブするようにした。操作方法はソースの上のほうに書いてあります。
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp
省4
254
(1): 04/04/07 03:10 ID:6G2QeT26(1) AAS
RPG製作に興味あってこのスレきますた。
後半部を流し読みしかしてませんが、なにやらAPIやDXベースで話がすすんでるようですが
それらを学習しながらはたしてモノが完成するのかなぁと思ったので。
最初は253氏が触れてるようなEL等のライブラリを使用するのがいいかと思います。
ゲームの中身の処理以外で悩むのつまんないし。
255
(1): 245 04/04/07 05:36 ID:RS4YRj46(1) AAS
>>253>>254
結局APIで作り始めますた。
私のほうは、あくまで技術の学習・習得が第一の目的でして、
特にゲームを完成させることに拘りはないです。
でも「作るスレじゃ」なくて「作れるようにするスレ」なので
あんまり矛盾はないかなぁなんて。

現状ですが、とりあえず超適当ですがPCの画像を表示できました。(うpする価値なし)
省2
256
(1): 98 04/04/07 20:26 ID:MMz7Nn2x(1/2) AAS
>>255
一応、目安ということで見ておくといいかも↓
外部リンク:gamdev.org

最低限の機能しかないけどマップエディタ完成
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp
次はメッセージウィンドウを表示させようと思う。
257: 98 04/04/07 20:27 ID:MMz7Nn2x(2/2) AAS
URLミス・・・
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp
258: 245 04/04/08 05:12 ID:rdLQdFbl(1/2) AAS
>>256
おぉそこは知りませんでした。凄く参考になります。
現状ですがテキストファイルからマップデータを読み込み、
表示することができました。
外部リンク[zip]:gamdev.org

本当はバイナリにして暗号化したりした独自形式にしりたいんだけど
よくわかんないのでとりあえず放置。
省2
1-
あと 216 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.029s