[過去ログ] 無料で俺がRPGを作れるようにするスレ (474レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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
259(1): 98 04/04/08 20:18 ID:GQOUbMkn(1) AAS
2ヶ月前からやっててまだこの程度なので、かなり遅いと思われます・・
保存形式ですけど、
XML→難しい割りにメリットなさそう バイナリ→シラネ レジストリ→怖い
ってことで、消去法で初期化ファイル使ってます。
データ書き換えが簡単で、ゲームとして成り立たなくなりそうですが。
260: 245 04/04/08 22:58 ID:rdLQdFbl(2/2) AAS
ファイル操作の辺りって結構でかい壁ですよね。(俺だけかも)
いずれ絶対やらなきゃなんないし、かなり面倒くさそう。。。
今回はPCを矢印キーで操作して画面をスクロールできるようにしました。
ついでに当たり判定もつけました。
外部リンク[zip]:gamdev.org
現状はまだ隣のマスへワープしてる状態なので、
つぎは滑らかに移動できるようにしたいと思います。
261(2): 98 04/04/09 00:11 ID:vWYKL39D(1) AAS
俺もファイル操作で何回も挫折してます。
バイナリでの保存方法教えて。エロイ人。
>ついでに当たり判定もつけました
ダウソしてみたんですが、実行前の注意必読.txt読んだら
怖くて実行できなくなってしまったorz
262(2): 200 04/04/09 00:16 ID:PDI25ArR(1/3) AAS
うぃっす。そのうち暇になったら俺も晒そうかな。今は忙しいが。
>>259
XMLはHTMLと同じようなマークアップ言語のことじゃないん?
だから出力形式としてはテキストorバイナリになると思うんだけど。
あと、ツール関係もC言語で作るって言うのはどうかと。
ツールは他の言語で作って出力データだけ使うのが良いと思われる。
テキストで出力するのであれば、マップチップ番号をカンマで区切って出力したり
省10
263: 200 04/04/09 00:23 ID:PDI25ArR(2/3) AAS
発言が前後しちまったーヨ。
出力・・・猫でもわかるミレ
264(1): 245 04/04/09 06:14 ID:PD92y+NK(1/2) AAS
>>261
何があるかわかんないので、一応、免責事項を書いておいたほうがいいかなと思って。
フリーソフトに限らず書いてあるのが多いので見習いました。
多分大丈夫だと思います。多分。。。(でもやっぱり責任はもてませんw)
>>262
CSVにしようと思ったんですけど、まんどくせのでとりあえずあんな感じに。
カンマとかって普通に文字列操作でくっ付けて〜.CSVでWilteFileすれば
省13
265(1): 練習帳著者 04/04/09 08:53 ID:NNIXc1rk(1) AAS
>>261
バイナリファイル保存は、CreateFile()でファイルハンドルを作って
バイナリデータ(データを記録したバッファ)をWriteFile()で書き
出し、ファイルハンドルを閉じる、という流れでできます。
lpszFilePathをファイルパス、lpDataをデータの先頭アドレス、dwSize
をデータのバイト数とすればこんな感じ。
HANDLE hFile = CreateFile(lpszFilePath, GENERIC_WRITE, 0, NULL,
省4
266(1): 200 04/04/09 18:37 ID:PDI25ArR(3/3) AAS
>>264
VBとかもっとらんの?
VCしかもってなくて、C言語しかやってないっていうのなら、しょうがないけど。
チップセレクトは多分スクロールバーとBMPをあわせているだけだと思う。
スクロールされたらそれに合わせてプログラム内でBMPの表示位置を変えてるんじゃない?
267(1): 245 04/04/09 21:40 ID:PD92y+NK(2/2) AAS
滑らかにスクロールするようになった。
けど、なんか無理矢理できてる感が強し。やたら重いし、
デバイスコンテキストとかこんなに何枚も作る必要あるのだろうか。。
hdc//一番表。ディスプレイ
hdcMem//一枚裏。ここにいろいろ合成して最終画像を作る。
hdcMap//マップの画像ファイル読み込んでおいておく所。
hdcChr//キャラの画像ファイル読み込んでおいておく所。
省7
268: 98 04/04/09 22:43 ID:Hsbv26Yj(1) AAS
>>262
>ツール関係もC言語で作るって言うのはどうかと
C++以外だとJavaScriptしか使えないです。保存できない・・・
>>265
ありがとうございます。バイナリと思われる意味不明な文字列で保存までできますた。
読み込みもたぶんできそうです。
>>267
省2
269(1): 245 04/04/10 18:02 ID:rQAMSH7v(1) AAS
適当に動くNPCを追加して、キャラの余白は透過するようにしました。
外部リンク[zip]:gamdev.org
次はキャラ同士で当たり判定をつけて、
NPCの数を動的に増やしたり減らしたりできるようにしようかと思ってますが、
めんどいだけで特に得るものは無さそう。。。
でも見た目楽しそうなのでやってみようと思います。
>>つか、あと2,3日で追い抜かれそうな気がしてきたorz
省1
270(1): 98 04/04/11 21:26 ID:ih6xwcUu(1) AAS
>>269
左移動・上移動はいいんですが、右移動・下移動の時の画面に現れてくる部分の描画が遅いような感じです。
・エンターキーを押すとコマンドが出るようにした。
・マップデータはバイナリのまま読み込むようにした。
・ソースを修正しやすいように修正した。
外部リンク[txt]:www.geocities.co.jp
外部リンク[zip]:www.geocities.co.jp
省1
271: 245 04/04/11 22:41 ID:OD43hm2K(1) AAS
今日はハマリ中でうpできそうにない・・・
>>270
試してみてもらえたようで、ありがとうございます。
起動時のままのウィンドウサイズでも変になってますか?
家でもウィンドウを広げると確かに下とか右の方の描画が変なんですが、
一応起動時のサイズが標準なので、普通だったら見えないところだから
そのままでいいやと思って直してなかったんですが、
省6
上下前次1-新書関写板覧索設栞歴
あと 203 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.036s