タスクシステム総合スレ part4at GAMEDEVタスクシステム総合スレ part4 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト320:名前は開発中のものです。 09/02/08 23:23:26 +Lu8guC0 とりあえず、描画タイミング、ゲームオブジェクトの移動、当たり判定なんかの処理は一定間隔で行いたい。 だから、単純なゲームのとあるシーンは以下のようになる。 while(1) { 描画 ゲームオブジェクトの移動 当たり判定 時間調整 } 次にタイトル画面を表示するシーンが欲しいなと思ったら、もう一つループを追加する while(1) { 描画(タイトル画面表示) キー入力 時間調整 } シーンの数だけループができた。 じゃあ、このループを一般化して、ハードコーディングではなく、外部からのスクリプト読み込みなどで 動的に生成できないかと悩んでみると、タスクシステム(っぽい何か)に行き着いた。 321:名前は開発中のものです。 09/02/08 23:23:57 DctRL+eT >>318 ただのFSMではなくコルーチン&スケジューラが実装されていたのなら そう書いてもらったほうが分かりやすい 322:名前は開発中のものです。 09/02/08 23:28:08 xD+TYCTG >>298 指標をいくつか決めて実装手法ごとに○×付け。一番○が多いのを使う。 これでいいんじゃね? どういった表現方法使ったってどうせ全部「データの受け渡し」であることには変わりない。 概念的には一つのことを実現しようとしてるだけ。 もし引数の概念が無い言語ならグローバル変数使わざるを得ないし、 グローバル変数の概念が無い言語なら引数使わざるを得ないかもしれない。 この辺の手法の差異なんて言語に左右されるような瑣末なこと。 C++ではたまたまいろいろな手法が利用可能だけども 概念的には「データの受け渡し」だけが目的なんだから、 CPU使用時間とかメモリ使用量とかソース可読性とかそういった瑣末な指標によって選択すればいい。 「C++におけるデータ受け渡しの実装手法はどれが一番概念的に優れてるか」とか悩むのは そもそも問いかけの選択からして間違ってる。どれも概念的には「データの受け渡し」で同一のもの。比較不可。 優劣が付けられるのは前述の瑣末な指標で比較した場合のみ。 C++がやれること多すぎて悩むの疲れたのならいっそもっと選択肢少ない言語に変えてみたら? Cとかに。わりと本気で。 #レスなげえ、俺きめえ。ごめんね 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch