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

C++でドラクエっぽいRPGを作る 2

■ このスレッドは過去ログ倉庫に格納されています
0001代理2008/05/14(水) 02:52:59ID:WT/twc82
C++の勉強をかねてFCのドラクエっぽい感じのRPGを作りたいんです。

しょっぱなからつまずいています、知恵を貸してください。

前スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1193935988/
0014名前は開発中のものです。2008/05/23(金) 08:54:47ID:Ko764LZI
>>13
無いだろ
せめてstaticメンバにしろ
ポインタ以外の変数はグローバルどころかstaticメンバにもしないのが普通だな
誰でも書き換えられる変数が必要という設計が狂ってます
0015名前は開発中のものです。2008/05/23(金) 09:24:14ID:Skj6XTki
>14
あふぉか

0016名前は開発中のものです。2008/05/23(金) 10:47:48ID:2CvA42bH
以下宗教戦争スレ

ついでに
昔懐かしいgoto不要戦争もやってくれ
0017名前は開発中のものです。2008/05/23(金) 11:10:57ID:aiOX/uF/
なるほど
ここで俺はSingleton使えと主張すれば良いんですね
0018名前は開発中のものです。2008/05/23(金) 11:37:24ID:4/aM/xlp
>>10
ソースだけで139とかオレからみれば
少なくて羨ましい限りだ
0019名前は開発中のものです。2008/05/23(金) 14:08:01ID:VX8Dsw6F
いいんじゃない?
設計の話は今の1には必要だし
0020名前は開発中のものです。2008/05/23(金) 14:22:51ID:ljWF2dQj
ドラクエ風の戦闘作るのはどうしたらいい?
なかなか難しいんだけど
0021名前は開発中のものです。2008/05/23(金) 14:51:47ID:T1WMsBd2
ツクールVXでも買ってデフォルトのスクリプト弄くり廻してればそのうち分かるんじゃない?
0022名前は開発中のものです。2008/05/23(金) 17:58:53ID:ljWF2dQj
そんなことに金つかいたくねーので別の方法を
0023名前は開発中のものです。2008/05/23(金) 18:27:41ID:pfgBGhLs
もうちょっと具体的な質問じゃないと答えられないぞ
画面表示の事なのか、データ管理の事なのか
0024名前は開発中のものです。2008/05/23(金) 18:32:21ID:ljWF2dQj
主にデータ管理の部分ですかね
例えばコマンドを選択して、その結果をどのような形で保持しておくのかとか
ダメージ計算はいつするのかとか、あとメッセージボックスとエフェクトを連携させる方法もわかりません
0025名前は開発中のものです。2008/05/23(金) 18:44:44ID:NaorjOek
フローチャート書けばいいんでない?
ドラクエはターン制だから順を追って考えられる
敵の攻撃→ゴシャッ→画面震える、ダメージ計算→自分の攻撃
                         ↓(死んだとき) 
                        音楽鳴る、画面赤くなる・・・
0026名前は開発中のものです。2008/05/23(金) 18:50:38ID:NaorjOek
こういう流れってどう管理するんだろう
状態かな?
switch文で飛ぶのかな。

(状態)
敵攻撃中(メッセージの表示、ダメージ、死に判定)
自分(仲間)攻撃中(メッセージの表示、ダメージ、死に判定)
自分側死に中(音楽鳴り、数秒停止、画面赤くなる、メッセージの表示)
敵死に中(やっつけたときのメッセージの表示)
全滅中(音楽、メッセージ、画面赤くなる、数秒停止、数秒経過後、ゲームリセット)
0027名前は開発中のものです。2008/05/23(金) 19:01:20ID:ljWF2dQj
>>25
そういう流れはわかってるつもりなんですが

敵が攻撃する
メッセージウィンドウに「敵の攻撃!○○に45ダメージ!」って表示させた場合
「敵の攻撃!」ってのが表示された後に画面を震わせる必要がありますよね?
魔法を使った場合には対象に魔法のエフェクトを表示するタイミングとか音も
メッセージウインドウに連動させる必要がありそうです
そういうのをどうやって管理すればいいのかがわからないです

あとダメージ判定ってターン中にやるんですかね?
コマンドが全部入力された時点で計算しておいて、あとはメッセージウィンドウに流すだけって感じのほうが
簡単な気がするんですけど
0028名前は開発中のものです。2008/05/23(金) 19:42:34ID:wIT5ODcx
せっかく晒してんだから
1のソース読んでやれよ
0029名前は開発中のものです。2008/05/23(金) 19:58:51ID:ljWF2dQj
1はもう戦闘の部分も作ってるんですか?
最新版動かしましたけど戦闘がなかったような
0030名前は開発中のものです。2008/05/23(金) 20:11:56ID:ljWF2dQj
戦闘があるバージョン見つけました
これから見てみます
0031名前は開発中のものです。2008/05/23(金) 20:34:10ID:O+s2k9Lh
インスタンスをひとつもグローバルに置かないプログラムを書いてみろ。
0032名前は開発中のものです。2008/05/23(金) 22:37:30ID:Skj6XTki
>27
文字列解析が必要だがメッセージの中に含める手もある
HTMLのタグみたいな感じのとか

もちろんタグは表示スキップ
0033名前は開発中のものです。2008/05/23(金) 22:42:02ID:Aye71eEr
>>27
ちょっと考えてみた。
1フレーム中の命令メッセージを、それぞれのクラスでlistで保持するのはどうだろう?

メッセージ表示なら、
「こ」を表示→「う」を表示→「げ」を表示→〜
戦闘エフェクトには、
剣軌道画像0表示→剣軌道画像1表示→画面フラッシュ→〜
効果音に、
何もしない→何もしない→斬音開始→〜

んで1フレームに一回、各クラスを呼び出してフロントの命令を実行してpop。
全てのlistが空になったら、次の入力受付に移行すると。

まあ、適当に考えたんで的外れだったらすまん。
0034名前は開発中のものです。2008/05/23(金) 22:51:09ID:7bR3UNW3
実際そういうのって、変にクラスとか使ってやるより、
汚くてもガリガリ書いちゃったほうが楽なことがある。
ましてや、ドラクエという決定しようがあるならそれにしたがって書くだけだから
なおさらな希ガス
0035はかせ2008/05/23(金) 23:04:02ID:TA+fKz3H
戦闘がなくなったのはバグですねOrz
乗り物に乗る判定でエンカウントの判定がすっ飛ばされてました Orz
僕ごときの意見が参考になるかわかりませんが、
ダメージ計算は実際にダメージが発生する瞬間に計算してます。
主人公側がダメージを受けたときは画面揺らしはまだ実装してませんが
モンスターがダメージを受けたときの点滅と同じタイミングでやるつもりです。

ラリホーを実装しました。
今のところ成功確立は50%。眠り時に起きる確立も50%。攻撃を受けても起きません。
状態異常系の魔法の確立をどこで設定しようか悩みどころです。
魔法個々に確立を設定し、対象に耐性を設定し、
魔法が成功判定を引いたときに耐性で判定をかけて最終的な成否判定にしようか、と思ってます。
麻痺攻撃や毒攻撃などをどうやって実装しようか悩んでます。

設計の見直しは 挫折しました。


tp://sakuratan.ddo.jp/uploader/source/date82202.lzh
0036名前は開発中のものです。2008/05/24(土) 01:09:54ID:fCOY9f2q
文字列解析というような大げさなものではないですが
「敵の攻撃!\d○○に50ダメージ!」
のように何か記号を決めておいて、それが出たら内部フラグを立てて
毎フレームごとにフラグチェックを行っていくことにしました。
0037名前は開発中のものです。2008/05/24(土) 12:16:55ID:R5G1APj/
俺前にそういうメッセージウィンドウ作ったことあるけど、やめといた方がいいかも・・・
まぁ、実装によるけどかなり分かりづらいバグが出る悪寒
0038名前は開発中のものです。2008/05/24(土) 18:38:47ID:zxthQanT
何らかの設計本読んでみるのもいいかもね
0039名前は開発中のものです。2008/05/24(土) 19:12:17ID:jVewdgF5
>37
こういうのはゲームから切り離して単体でテストできる状況を考慮して作れば、バグがでても対応できる

ゲームの流れだけでデバグすると取りにくいから、単体テストできそうなものはいつでも切り離せるようにしとくと楽

0040名前は開発中のものです。2008/05/24(土) 19:24:52ID:R5G1APj/
>>39
いや、そうじゃなくて36の方法みたいなメッセージに特殊文字を埋め込んで・・・みたいな
やり方が勧められないという話。俺もインタプリタとか作ったことあったから余裕だろとか思ってたら
大変なことに、せめて読み込んだ後分かりやすい形に要素を分解することを勧める
0041名前は開発中のものです。2008/05/24(土) 19:59:24ID:YrIzPEyM
>>34
ごめん、変にクラスとか書いたから誤解させた。
要するにクラス関係なく、内容をlistに保持すれば楽かなと。
変更、拡張、それに並列処理が容易だし、メッセージに含めるより現実的じゃないかな?
0042名前は開発中のものです。2008/05/24(土) 20:03:20ID:BEA8+fV0
とりあえず戦闘中にはどのような状態があるのかをまず考えるんだ。
0043名前は開発中のものです。2008/05/24(土) 22:50:39ID:6C7S63ws
>>15
せめてネームスペース使えあふぉ

>>31
普通に書ける
書けなかったら複数インスタンスが作れる仮想マシンとか作れないよ
0044名前は開発中のものです。2008/05/25(日) 00:36:14ID:n60vwEYE
>>43
普通に意味がわからん
何故仮想マシンを引き合いにだす?
0045名前は開発中のものです。2008/05/25(日) 01:59:48ID:Xrop84s4
>>44
実際によくある例を挙げただけなのに何故そこに突っ込むかな
そんなにグローバル変数使いたいならC++よりC99のほうが合うと思うよ
0046名前は開発中のものです。2008/05/25(日) 02:10:20ID:sJ7aScxl
俺も>>41の方式に一票。インタプリタ的にやるにしても
文字列・エフェクト・音の再生を統一的に扱える方法を決めた後で
記号から再生順のリストを作成できるように作った方が楽そう
0047名前は開発中のものです。2008/05/25(日) 06:02:04ID:No+4ugYv
MFCも.NETもAppとかは普通にグローバルにおかれているが
0048名前は開発中のものです。2008/05/25(日) 08:30:57ID:n60vwEYE
グローバル使うならC++よりC99という発想が謎

0049名前は開発中のものです。2008/05/25(日) 09:39:06ID:d8xFq6Kh
ハハッワロス
0050名前は開発中のものです。2008/05/25(日) 13:58:58ID:Xrop84s4
>>48
嫌オブジェクト指向で、Cのギチギチの文法が嫌いとか、ベターCにするとかなら、C99で十分。
下手にC++触らせたほうが色々弊害あるし…

つか、くだらない所に食いつかれ易いので改めて真意を書くよ。
絶対にグローバル使うなとは言わないが、「むしろ使うべき状況はある」と勘違いする人が出るようなレスはやめてほしい。
グローバル変数のデメリットがわからないまま書き込んでいるとは思ってないが…
もしそうなら、ム板で語りませう
0051名前は開発中のものです。2008/05/25(日) 14:08:57ID:18GTno/b
>>47
おまいはグローバル変数が何か勉強しなおすべきwww
あとMFCを例にあげてるが、お手本として正しいと思ってるなら病院池
0052名前は開発中のものです。2008/05/26(月) 22:10:28ID:Sh7GDfTh
まああれだ
グローバル使ってもいいけど、闇雲に使うなってことかな

漏れはシングルトンは使いすぎると、実際どれだけのインスタンスが静的に存在してるのか、把握が困難になるから使わない

グローバルのインスタンスは一カ所にまとめる派
一つのクラスにまとめるけともあったが、ネームスペースもいいな
あとはできるだけ増えないようにしてる

0053名前は開発中のものです。2008/05/26(月) 22:57:13ID:GUNbVDqx
まだやってたのか・・・
0054名前は開発中のものです。2008/05/27(火) 00:51:30ID:yuK+OsBq
楽なのは,いろんな共有オブジェクトをとってこられるような「なんでもクラス」を作って
そのインスタンスを渡しまくるやり方かな
まあ実質グローバル変数とそんなに変わらないけどね
0055名前は開発中のものです。2008/05/27(火) 09:13:34ID:GJjmi+z5
>54
うん、悪手
グローバルと変わらないのに手間だけ増える
0056名前は開発中のものです。2008/05/27(火) 17:16:28ID:Zit6Qob4
引数をスタックに積んで渡すよりグローバル変数をヒープから漁ったほうが速い
0057名前は開発中のものです。2008/05/27(火) 22:57:09ID:V5A7xB3Z
>>56
それは20年前のゲーム機のゲームタイトル程度のものを
今時のPCで再現しようとしているスレッドで考えなければならないものですか?
0058名前は開発中のものです。2008/05/27(火) 22:59:11ID:GJjmi+z5
釣られるなよ
0059名前は開発中のものです。2008/05/28(水) 08:50:21ID:9Aa8gjZt
>>35
キャラの移動速度が遅すぎでない?
0060はかせ2008/05/28(水) 23:32:49ID:2r4e/wdq
>>59
多分処理とかに無駄があるせいな気がします。
ちなみに僕のノートだと FCのDC3よりちょっと遅いくらいな感じです。

どれくらいの時間がかかっているのかログが取れるような風にしてみようと思いました。
もしアレでしたら実験に協力していただけるとありがたいです。
0061名前は開発中のものです。2008/05/29(木) 04:58:56ID:UJfep0dd
実験どんどんこいやー!
でも、この遅さは1ループに2回ScreenFlip使ってるからのような気がしないでもない
0062名前は開発中のものです。2008/05/29(木) 05:01:20ID:UJfep0dd
あ、それか2倍表示なのに1ドットずつスクロールしてるとか
まあ、実験カマン!です
0063はかせ2008/05/29(木) 23:24:39ID:d5OQ4lrR
>>62
それは盲点でした!(汗

>>61
すみません、1ループで使ってる2箇所ってどことどこでしょうか?
Main.cppの131行目にまとめたつもりでした。
どこの関数で呼び出してるかよかったら教えてください。Orz

tp://sakuratan.ddo.jp/uploader/source/date82669.lzh

フィールドで「R」を押すと移動にかかった平均時間を表示できます。
みなさんの環境下でどれくらいの移動速度を出しているのか教えていただければ幸いです。
ちなみにマップ移動を噛ませると極端に平均値が上がります。
マップ移動をはさまない平均時間を教えてください。

あと2ドットずつずらすことにしました。
2ドットずつの移動で、僕の環境だと
44歩
570-277 ms
平均309ms
でした。
このタイムだとちょっと移動が早すぎる気もしますが
2ドットずつでWaitTimerとかで1フレームあたりの時間を調整したら面白いかもしれません。
0064名前は開発中のものです。2008/05/30(金) 01:23:36ID:u+CY/4q5
>>63
>1ループで使ってる2箇所ってどことどこでしょうか?
ごめん、ソース見ていないから予想で書いただけだった。
半分くらいのスピードだから、2つの内のどちらかだと思ったけどね。

ちなみに、自分の環境(液晶60ヘルツ)
37歩
272-295ms
平均280ms

DXlibのデフォルトなら画面と同期を取ってるはずなんで、
おそらく60ヘルツ以外の設定のモニタなら変わってくるような気がする。
このままウィンドウモードに拘るなら、SetWaitVSyncFlagにFALSE指定して、
自分で書いてる通り、WaitTimerで調整したほうがいいかもしれない。
0065名前は開発中のものです。2008/05/30(金) 09:12:58ID:FCe8d9XW
フルスクリーンでリフレッシュレート変更しれ60Hzに対応してないディスプレイは切れ
0066名前は開発中のものです。2008/05/30(金) 10:04:40ID:KrcyMXcQ
>>65
それは強引じゃないか?w
デフォルトは同期取るようにして、切り替えできるようにするのが一番か
0067名前は開発中のものです。2008/05/31(土) 12:36:51ID:gI5/Rw1+
最近のRPGはキャラ移動が早いのが気持ちいい
0068名前は開発中のものです。2008/06/04(水) 05:08:20ID:1BobzMgy
俺も試してみた@液晶(60ヘルツ)
35歩 283-281 平均:281
エンカウント無くしてフィールドMAPの移動無しで歩き回った。
0069はかせ2008/06/05(木) 09:03:29ID:8ClLpJS2
久しぶりの書き込みになってしまってすみません

実験結果ありがとうございます。
今、歩行速度の結果でフレームスキップさせて動作速度のばらつきを無くそうと思ってます
0070名前は開発中のものです。2008/06/05(木) 09:10:08ID:/udcP0qj
新しい gamedeve 一応かきかき
TopPage - game-develop.com wiki
http://wiki.game-develop.com/

GameDevWikiを何とかするスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1156117275/

迷惑でなければ、DQ風RPGを作れの項目で
関連スレとして登録したいんですが、どうでしょうか
0071はかせ2008/06/06(金) 01:54:55ID:G88ydWgZ
>>70
僕としては特に迷惑とかではないし、何かやろうとしている人の力になれるのなら喜んで、と思ってます。


最近OSインストールしてから動作が不安定になりました。
意味不明なコンパイルエラーが出たりして悩んでます。
リアル事情で亀ですが一日一回カキコしていこうと思います。
生暖かい目で見守ってくださるとうれしいです。
0072702008/06/06(金) 06:05:53ID:5bNlLkPY
>>71
ありがとうございます。早速下記に追加させて頂きました。
TOP/プログラミング/初心者向け/チュートリアル/段階的学習/DQ風RPGを作れ
TOP/プログラミング/初心者向け/チュートリアル/段階的学習/FF風RPGを作れ

コンパイルエラーですか。再インストールした後は環境を元に戻すのが大変ですよね…
0073はかせ2008/06/08(日) 11:22:24ID:9l2uVrAM
ラグ時に速度が変わる風にしてみました。

tp://sakuratan.ddo.jp/uploader/source/date83631.lzh


…とは言ったものの、思ったとおりの動作はしていない気がします。
一歩が360msになるはずだったんですが Orz
0074名前は開発中のものです。2008/06/08(日) 15:18:20ID:UBOxdmEZ
ちょっと初歩的な質問かも知れないんですけど・・・
"GameData/MAP/Map//MapParam.csvが開けませんでした。"
とメッセージが出て終了します。
実際そのフォルダにそのファイルは無いようなんですけど
始める前にどこか別の場所からデータをコピーする必要があるんですか?
0075名前は開発中のものです。2008/06/08(日) 17:44:16ID:GjusA3wR
何をしようとしたんだおまえは?
0076742008/06/08(日) 20:08:39ID:TAJfROjQ
何を・・・って普通に>>73落として解凍してDragonQuestImitaion.exe実行したんですけど。
解凍ソフト変えたり以前のバージョン落としてみたりしたんですけど
"ぼうけんをする"を選んだ時点で>>74ってMessageBoxで出て終了するんよねぇ・・・
それ以外まったく何もいじってないはずですよ?
0077名前は開発中のものです。2008/06/08(日) 21:07:11ID:GjusA3wR
>>76
俺も今試してみたが、普通に開始できたぞ?

>>73
すごく…速いですw
0078名前は開発中のものです。2008/06/08(日) 23:26:57ID:qXj/0S4S
>>77
ほかに同じ症状が出てる人がいないみたいなので
おかしいのは自分なんだとは思うけど・・・

誰かもしよかったら使ってる解凍ソフトを教えてもらえないですか?
さらに出来たら>>73のMD5を・・・
0079名前は開発中のものです。2008/06/09(月) 00:10:48ID:RKNXjDbu
>>78
開きたいのはおそらく、
GameData/MAP/Map/フィールド/MapParam.csvで、
それがあるならば、マルチバイト環境とUnicode環境の違いかな?

簡単な解決方法は、はかせがフォルダを英語名にすればいいのだw
0080名前は開発中のものです。2008/06/09(月) 00:33:05ID:sOia86ev
>>79
それだ!!(まだ試してないですが)
なんで>>74のエラーメッセージのパス名に/が2個並んでるのが疑問だったんですが
そういうことだったんですね。

おかげでスッキリできそうです。ありがとうございました。
そして、スレ汚し申し訳ない。
0081名前は開発中のものです。2008/06/09(月) 01:08:13ID:mMlZTwnc
許す
0082はかせ2008/06/10(火) 00:21:22ID:FwtVn585
全部のファイル名からマルチバイト文字を撤去しました。
tp://sakuratan.ddo.jp/uploader/source/date83839.lzh

これで多分動くと思います。

前回うp分とは時間を計る箇所を変えてみました。
前回早すぎた人もちょうどいい速度になってるかもしれません。
できれば移動中に【R】ボタンで移動にかかった速度がでるので教えてくれたらうれしいです。

MD5がわからなかったのでググって見ました。
こういう方法でファイルの破損を調べてたんですね、と賢くなった気分でテンションあがったり。
次はラーミアとか実装してみようかな。
0083名前は開発中のものです。2008/06/11(水) 21:51:32ID:6GOMZwWE
>>80
で、今回は動いたのかな?
0084名前は開発中のものです。2008/06/11(水) 22:04:28ID:5tCFZv+I
>>82
速すぎたのは無くなりました。
[36]281-283 平均281 でした。
0085742008/06/12(木) 01:16:38ID:5e/uDpCV
>>83
ごめんなさい。
あんだけマルチバイトがなんだと騒いでおきながら
原因は'Z'キーが決定ボタンだと思い込んでいたってことでした。
デバッガまで起動してやっときがついた・・・orz

とはいってもメインメニューの時点ででZ押しただけであのメッセージでたら
ファイルに原因があるって勘違いしますよね?しませんね。

0086はかせ2008/06/12(木) 08:17:12ID:EZYgiuk/
ラーミアを実装してみました。
乗り物ごとに移動速度を変えられるようにしてみました。
赤いラーミアは3倍速で、敵とエンカウントします。
もしかしたら2の倍数の方がきれいにいくかもしれません。
亀は徒歩の1/2です。

tp://sakuratan.ddo.jp/uploader/source/date83973.lzh


>>85
実行ファイルに問題があるのは間違いないですね。 Orz
原因を調べてみます。
0087はかせ2008/06/12(木) 08:19:55ID:EZYgiuk/
>>84
ありがとうございます。
速度は360msが目標です。 Orz
ま、度が過ぎなければいいか。(適当
0088名前は開発中のものです。2008/06/12(木) 13:02:39ID:FYIps2YK
敵が出ないっていいですね。

・ラーミアって十字キー離したらそのまま進んでくれた方が便利な気がする。
・戦闘中にメッセージ関連の処理でよく落ちる。
・ベホマラーが先頭の人に4回。

まぁ、気が向いたら試してみてください。
0089名前は開発中のものです。2008/06/12(木) 20:35:11ID:ecGL2Ix7
できればVC++2005で作って欲しい
0090名前は開発中のものです。2008/06/12(木) 21:13:48ID:ecGL2Ix7
あとDXLibはヤメテ
0091名前は開発中のものです。2008/06/12(木) 21:20:50ID:tt7Mv7s8
なんという釣り
0092名前は開発中のものです。2008/06/13(金) 00:03:46ID:vQDjggE3
つりじゃなくて要望
0093名前は開発中のものです。2008/06/13(金) 00:09:34ID:nxrHVS9w
要望じゃなくてケチ
0094名前は開発中のものです。2008/06/13(金) 00:28:11ID:vQDjggE3
↑お前がケチくさい奴なのはわかった
0095名前は開発中のものです。2008/06/13(金) 00:31:49ID:4p5Oocit
落ちつけよ。

要望だと言うなら何故そうしてほしいのか理由を聞こうじゃないか。
0096名前は開発中のものです。2008/06/13(金) 00:43:08ID:vQDjggE3
よくぞ聞いてくれた
2008を入れてないのと、DXライブラリはよく知らないから。Win32apiかDirectXにして欲しいんだよね
まあ、今更無理とは思うけど
0097名前は開発中のものです。2008/06/13(金) 00:48:43ID:F7IzYa1g
いやいやいやいやw
0098名前は開発中のものです。2008/06/13(金) 01:09:36ID:4p5Oocit
>>96
めんどくさいから簡単に言うぞ。

↓でVC2008のexpress editionてのが無料でダウンロードできる
ttp://www.microsoft.com/japan/msdn/vstudio/express/

VC2008をインストールしたら↓へ行く
ttp://homepage2.nifty.com/natupaji/DxLib/dxdload.html
DXライブラリ VisualC++用(Ver2.24c)をダウンロードする(自己解凍形式(約4.42MB))
てのからdxlibがダウンロードできる

dxlibを解凍したら DxLib_VC てフォルダが出来るから、
その直下の プロジェクトに追加すべきファイル_VC用 てフォルダの中身をDQのフォルダ直下に全部移す
そしたらソリューション開いてビルドする。

これで使える。
0099名前は開発中のものです。2008/06/13(金) 01:29:16ID:vQDjggE3
>>98
できました。わざわざありがとうございます。

ラーミア飛ぶの低すぎでワロタ 山越せるのに人にぶつかるってどうよw
0100はかせ2008/06/13(金) 02:26:22ID:mTNURy16
>>88
・戦闘中にメッセージ関連の処理でよく落ちる。
道具使用時に落ちることがあるのを発見して、直したつもりです。
まだ落ちるようだったらご報告いただけるとうれしいです。

・ベホマラーが先頭の人に4回。
直せました。多分。

・ラーミアって十字キー離したらそのまま進んでくれた方が便利な気がする。
実装候補に入れておきます。。
とはいえ、まだいいアイデアが浮かばないのですぐには実装できないかもしれません。

>>99
ラーミア飛ぶの低すぎでワロタ 山越せるのに人にぶつかるってどうよw
人が山よりでかいんです。巨人なんです。たぶんきっとそんな感じ。
今回うp分では修正もれちゃったので次回うp時に修正しておきます。
あと僕のためにわざわざ2008入れてくれてありがとう。素直に嬉しいです。

tp://sakuratan.ddo.jp/uploader/source/date84048.lzh

戦闘時のメッセージで落ちるバグの原因はかなり悩んだけど、見つかってよかったです。

次は乗り物に乗っている状態でも起動させたいイベントとかを作れるようにしたいと思います。
ラーミアのボタン離しても飛び続けるも実装したいけど、やっぱりアイデアが浮かびません。
がんばれ、僕の脳みそ。
0101名前は開発中のものです。2008/06/13(金) 10:34:37ID:vQDjggE3
城の中でエンカウントして落ちた・・・・
0102はかせ2008/06/14(土) 01:39:31ID:qLCsHJ/p
>>88
>ラーミアって十字キー離したらそのまま進んでくれた方が便利な気がする。
乗り物ごとに自動操舵フラグを作って実装してみました。
実装にあたってAボタンBボタンが過剰に反応してしまい

乗り込もうとしてAボタンを押す
       ↓
乗っている状態になり、勢いあまってコマンドをが開いてしまう
       ↓
コマンドを閉じようとしてBでキャンセルするとそのまま降りてしまう。

こんな感じなのでキー入力状態に一段階追加してみました。

KEY_NULL:押されていない
KEY_DOWN:押された
KEY_PUSH:押されている
KEY_R_PS:押されているが、キー入力の効果を発揮した後 <- 新たに追加した状態
KEY_UP:離された
KEY_NULL:押されていない(元に戻る


>>101
移動前のマップチップでエンカウントが発生するかを判定していたバグが原因のようでした。
fieldクラスのdispors関数内でパーティの現在位置をconst int X ,Y でとった後に座標をずらしていたのが元凶なので
#define を使って常に最新の座標を取れるようにしました。


昨日、修正したいって言ってた箇所の事をすっかり忘れて、ルーラ使用時に乗り物を移動させるようにしました。
ルーラで設定された行き先ごとに全部の乗り物を設定する必要があるので面倒くさいかもしれません。
現に今のところアリアハンしか設定していません。(ぁ

tp://sakuratan.ddo.jp/uploader/source/date84130.lzh
0103名前は開発中のものです。2008/06/14(土) 02:46:47ID:wH7Grdnw
>>102
ラーミアの自動操舵良い感じっすね。
0104名前は開発中のものです。2008/06/14(土) 20:09:39ID:AXGFNVD1
VC2008でC++/CLI&SlimDXはだめ?
0105名前は開発中のものです。2008/06/16(月) 19:20:12ID:YjUC6CiM
それなら生directxでいいでしょ
全部.NETで作るならC#の方がはるかに楽
0106はかせ2008/06/17(火) 01:26:59ID:TuE8kogq
いきづまりました。。。

乗り物に乗るときのキャラクタの動きを修正しています。
今まで、先頭のキャラが船に重なると後ろのキャラが消えたりしていたのを
二人目以降も順番に乗り込むように表示させたいのですが、なかなかうまくいってくれません。

何かをつかみかけてる気もするのですが、今日は中断して寝ようかと思います。


問 はかせはこの問題をどうやって解決するでしょう?
@ハンサムはかせは夢の中で回答がひらめく。
A親切なねらーが回答を教えてくれる
Bひらめかない。現実は非情である。
0107名前は開発中のものです。2008/06/17(火) 06:22:26ID:OnKeOXqu
うまのふん
うまのふん
うまのふん
うまのふん
うまのふん
うまのふん
0108名前は開発中のものです。2008/06/18(水) 01:12:27ID:oxHJsICL
馬野 芬
0109名前は開発中のものです。2008/06/18(水) 22:28:40ID:CP7b/5RU
理想はAだが、そううまくいきそうもねぇ・・・

ここはやっぱり@しか無いようだぜぇぇぇぇっ!!
0110はかせ2008/06/18(水) 23:57:54ID:YUv924Db
答え−B 答えB 答えB

すみません、あきらめないです。見捨てないでください。

ドット単位じゃなくてマップチップ単位で乗り込むようにはなんとかできました。
さらに、直線に並んでいないと変な動きをしたりとか。
完全ではないですが、生存報告もかねてうpです。

tp://sakuratan.ddo.jp/uploader/source/date84511.lzh
0111名前は開発中のものです。2008/06/19(木) 23:40:24ID:NQmjNH8e
はかせのソースって何回もFilpやってね?
0112はかせ2008/06/20(金) 03:20:36ID:k4MQcy8z
>>111
たしかに何回も、というかFlip使いすぎだったので、一箇所にまとめよう、と思っていたんですが挫折しました。
イベント戦闘のためにイベント進行を一時抜けるしくみを作ったのでもしかしたらいけるかもしれないです!
もしかしたらこの辺に乗り込み時の表示のヒントもあるかもしれないのでちょっといじってみます。

戦闘中のFlipについてはもうちょっとお預けでお願いします。
0113名前は開発中のものです。2008/06/21(土) 03:53:40ID:6oWsqysW
着実にCウィーザードに近づいていますね。
かっこいいです。憧れてしまいます。
生で天才に触れているようで感動しっぱなしです。
僕は、グローバル変数オンリーのしがない
ベーシックプログラマー(ベーシックマジシャンを目指してます)ですが、
はかせさんのような高みを垣間見れて感激しています。
ありがとうございました。僕も精進します。

http://ogawapc.myhome.cx/gameprogu3.htm
■ このスレッドは過去ログ倉庫に格納されています