したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

実装物(プログラム)スレ

25no.774さん:2012/08/12(日) 21:39:13 ID:2LRMnO5E0
>>24
遅レスですが、GJです!

てっきり流れとか簡単な仕様と思いましたが、かなりがっつり踏み込んでいて感動です。
ここでの議論を活発化させつつ、仕様をまとめられるかもしれませんね。
最終的にはやはりまとめて、管理して頂く人が必要に思いますが。

キューを使うの納得しました。キューを使えば動的な変化も対応できるような気がします。
毎フレームのメインループ処理ですが、

*数フレームに渡る更新が必要なものをタスクとし、
 ダメージ処理関数は成功判定を即座に行なってHP減少、死亡フラグ、ダメージのポップタスクの生成をするとして、

0.条件を満たしていれば戦闘を終了。

1.ポーズ中であれば以下の処理を全て行わない

2.各キャラクターとモンスターを同一視して順次ATBやキャラクター演出等を更新
  2.1.ここで、コマンド入力のタイミングであれば、コマンド入力キューの発行
  2.2.モンスターの攻撃タイミングであれば、個体ごとの条件に合わせた攻撃構造体キューの発行
  2.3.攻撃タスクが更新状態でない場合に、スリップダメージ、状態異常に関してダメージ処理関数を実行する

3.キューを取り出し、コマンドタスク、攻撃タスクを「4」の処理に登録
  コマンド、攻撃、それぞれ、現在登録されて、更新中の同タスクがない場合、
  かつ無効な条件を満たしていなければ登録。

4.登録された攻撃タスクとコマンドタスクの更新
  コマンドタスクは攻撃が決定されたなら、攻撃構造体キューを登録して、タスクを終える。
  攻撃タスクはアニメーション等を更新して、
  直接ダメージが入るフレーム時に、ダメージ処理関数をターゲットの参照も引数にして実行する。

5.独立した描画処理(ダメージのポップとか、背景画面のスクロール)のフレーム更新

こんな感じにすればいいのかと思いました。
もちろん処理がそのまま描画プライオリティに反映される場合は別として。

・敵の蘇生、時間経過による変化。
携帯厨さんのいうキューの手法であれば、それほど複雑ではないように思います。
死亡したターゲットもプログラム上では、死亡フラグと不可視フラグがONになっているだけで、存在している扱いにすればいいと思います。
蘇生を攻撃タスクとして、復活アニメーションを終えた後、死亡フラグを削除してしまえば、次のキューは同じモンスター扱いで処理が出来ます。

全体で管理すべきことと、個別キャラ、モンスターで管理すべきことがどうなりそうなのかが気になります。
アビリティ等については
http://www31.atwiki.jp/fftsukurou/pages/96.html
に特殊処理の洗い出しもありますので、この実現性ですかね・・・。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板