戯言徒然日記開発日記東方DTMC/C++DoJaLuaCG備忘録
気が向いたら創作活動とかしてる人のチラシの裏。
--.--.-- --
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2008.02.07 Thu
備忘録ですよ~。

[スクリプト]
・ステージスクリプト
→絶対フレーム時間軸。(キャラ回しに対応できる)

・アクション
→対象生成からの相対フレーム時間軸。
→とりあえず線形のみ。

☆仕様(とりあえず的)
・システム情報の記述は一端しない。
→@は読めるようにしておいた方がいい?仕様を公開しないうちはいらない。
・演算子には対応しない。
・コメントは単一行+複数行に対応 // or /* */
・行末は;で表現する。
・文法:[実行時間, 終了時間, 実行間隔]命令(引数・・・);
・引数:複数の引数の区切りは ,を使う。
・引数には特殊なモノ(自機の位置、敵の位置など)を指定可能に
→引数スタックから引数リストへ読み出すタイミングで取得する!

ex)
// 画面中央に移動させる
[ 0, 0, 0 ] MOVE( 0, 0, 0, XCENTER, YCENTER );
// 自機狙いnWay弾を発射
/* 実行されない
[ 20, 30, INFINITE ] BULLET( XACTOR, YACTOR・・・)
*/

※いつからいつまで、どのくらいの間隔で、というのがわかりやすく[]で前につけたものの逆効果か?引数に含めてもいい?

しかしながら
[ 0, 0, 0 ]
MOVE( 0, 0, 0, XCENTER, YCENTER );
こういう書き方も許容されるのしなぁ・・・。



[弾について]
・方向弾(自機狙い弾)
→生成メソッドは Action有 と 無 でオーバーロード

・nWay弾、円形弾
→自機狙いnWay と 指定方向nWay でオーバーロードしている
→スクリプトでは引数スタックのサイズで分岐している

→生成する弾ごとにアクションを変える必要が出てくる(forループによる弾生成では対応できない)
 →スクリプトに変換したらOK?(nWay弾作成タイミングは敵のアクション時。)
  →スクリプトなら弾生成時に引数スタックから指定アクションを弾に渡せる?
  →引数スタック「 nWay弾生成メソッドの引数、Action・・・ 」(弾生成引数を重複させない!)

  →nWay弾をAction生成時にn個の通常弾生成に分解すると簡潔な処理?(メモリ使用量増加!特にメリットなし?)
  →定数INFINITE Action終了フレームなし。(永続)でメモリ使用量軽減。

※結局のところ弾は方向弾のみでOK?その他はすべてスクリプトとActionで対応可能のはず。
→途中から自機狙いに変更できるように「方向転換命令に自機方向へ転換」を追加する!
→分裂弾用に弾にもActionを載せるべき?(弾の数だけAction実行判定が増えるので無理?)

→そもそもActionをスクリプトにする意味があるのか?
 →ハードコーディングだと呼び出しに複雑な判定になる
 →ハッシュテーブルを使って関数呼び出しのようにした場合はクラス量産によるアプリサイズ増大に悩む?
 →Actionの命令にさらにActionを呼び出す(引数スタックからAction実行引数を読み出して実行)命令を追加すれば・・・?
スポンサーサイト
Template by まるぼろらいと
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。