Project Board コメントComment
ログイン | ヘルプ | トップ

プロジェクト
親コメント:
CPU600MHz(Celeron),メ... 2005-11-27 12:52 by アカシン

Tonyu De RPG!! 企画

内容
Commented by: ごま太郎 at 2005-11-27 18:00:32

マップロードはしかたないっすね(笑) それでも、一マップのサイズを小さくすればそんなにかストレスないですし(比較対象PS)。
私の開発環境はクルーソーの600MHzです。ただ、業務用ノートみたいな代物なのでビデオカードあたりが最悪でtonyuとの相性が少し悪いようです(tonyuの実行速度はビデオカードに大きく左右される)。

村人などのイベント関係の管理は、データをオブジェクトに持たせる代わりに全て配列に入れました。
 ・描写はオブジェクトよりもdraw系メソッドの方が早い
 ・オブジェクト数&クラス数が増えると実行速度以上にコンパイル速度がひどい
という理由から、オブジェクト指向を完全に捨てています。
全ての変数を通し番号(画面に表示されている主人公は0。以後9まで予備とし、10~200まで一マップにイベントとして登録できる)。
にすることでfor()文を使って一度に大量の配列を処理できます。
ただし、これがアダとなりfor()文の使いすぎで動作速度を低下させています。なので、もっとすっきりさせる必要アリ。

操作はちょい複雑で、キーとなる変数の値を複数用意して無理やりやらせています。
while(1) {
if (getkey(32)==1 && !キーが押されたよ) キーが押されたよ=1;
if (キーが押されたよ) {
if (何ドット移動した?>=16) {何ドット移動した?=0;キーが押されたよ=null;}
何ドット移動した?++;
}
drawsprite(x+何ドット移動した?,y,p);
update();
}
こういう雰囲気でやるのが基本です。
キー取得→(最小単位での処理→描写)のループ→キー取得に戻る

やっぱり、感想をいただけるととても嬉しいです♪♪
というわけで長文失礼いたしましたm(_ _)m

返信

なるほど、全て配列で、ですか。 確かに、... 2005-11-27 20:02 by アカシン