FC2ブログ
戯言徒然日記開発日記東方DTMC/C++DoJaLuaCG備忘録
気が向いたら創作活動とかしてる人のチラシの裏。
--.--.-- --
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2008.02.08 Fri
 と言ってもとりあえず移動停止と方向転換を試しただけです(笑)動いてるっぽいのでいいかなぁといい加減です(;´∀`)

 今回はデバッグに苦労しました。ハマった事柄はshallow copy。int型はプリミティブなのでArrayListやStackに入れる場合はIntegerにしないとダメなんですよねぇ。思いこみでshallow copyしてぬるぽ続出。やられた。

 ちなみにスクリプトはこんな感じで機能させています。

①スクリプトファイル名を指定してActionデータを読み込む。
②読み込んだActionデータをスクリプトファイル名をキーとしてハッシュテーブルに追加。
③敵キャラなどに渡す時にハッシュテーブルからスクリプトファイル名を指定してActionデータを受け取る。

 上に書いてたのは③でのことです。Actionデータには命令と共に命令に必要な引数が格納されています。そこで誤ってshallow copyしてました。

 ちなみに、このような仕様にしているのは一度読み込んだActionデータを使い回すためです。敵などを生成する場合、Actionデータを得るために必要な時間はActionデータをdeep copyする時間だけであり、割と高速だと思います。
 また、今はスクリプトファイル名をキーにしていますが、1つのファイルに複数のActionデータを名前付きで書いておき、その名前をキーにしてActionデータを格納するつもりです。ファイル名を名前空間にすれば尚良しでしょう。

 もっと簡単にできると思ってましたが、案外複雑でしたorzしかしながら、言語処理にちょっと興味を持ってやってたことが非常に役立ちました☆引数の格納の仕方などなどほとんど同じですからね;(Actionデータの取得などはユーザー関数定義を参考にしてます)

 ともあれ、実機での速度も特に変動なしですのでいいのではないでしょうか?

 ではではもう少し拡張してきます☆リプレイ付けたら公開予定です。同時に残念というか皆様の怒りを買いそうなお知らせをします・・・。先に謝っておきます。ゴメンナサイ。゚(゚´Д`゚)゚。
管理者にだけ表示を許可する

TrackBackURL
→ http://niffy67.blog110.fc2.com/tb.php/76-6e397b71
Template by まるぼろらいと
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。