ゲームにおけるデータ構造・クラス設計・パターンat GAMEDEV
ゲームにおけるデータ構造・クラス設計・パターン - 暇つぶし2ch93:名前は開発中のものです。
06/08/31 19:32:51 FYTUeEKw
「複雑な行動パターン」ってどういうもん?
キャラの状態が色々あってステートの変化の組み合わせが多い(格ゲー系にありがち)とか、
行動の流れが複雑でプログラムがめんどくさい(シューティングにありがち)とか、
カテゴリはいくらでもありそうだからなぁ

でも大抵はスクリプトを使えば割と面倒なタスク処理が解決すると思うので紹介
タスクを実装するのにvirtual Update() = 0;な関数を用意したクラスを使うのは皆よくやると思うのだが
キャラにとっては一連の流れ(=関数)を一々タイムスライスしてやらなきゃならんのは面倒だ。
そこでスクリプトを使うと結構その辺が簡略化されるよ
例えばシューティングゲームで360度回転しながら弾を撃つ処理を書くときとかが良い例だと思うのだが

class Hoge
{
 float m_Angle = 0;
 Update() {
  m_Angle += AngleVel;
  Fire(m_Angle);
  if( m_Angle >= 360.0f )
   Destroy( this );
 }
};
と書くよりは
HogeThread() {
 for( float Angle = 0; Angle < 360; Angle += AngleVel; ) {
  Fire(m_Angle);
  Wait(1);
 }
}
と書きたいわけだな。Wiat(1)みたいなのはスクリプトの得意技だ
>>9の例を使うと、class ScriptStrategyみたいな感じのクラスを作るのがいい感じ。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch