スーパープロセッサ
〜 Tonyu System 改良プログラム 〜
オブジェクトの処理量を増やす方法
← メインページ
← 点滅現象について
目次
- オブジェクトの処理量を増やす方法
- オブジェクトの処理量を増やす方法2
- オブジェクトの処理量を増やす方法3
- オブジェクトの処理量を増やす方法4
オブジェクトを無理やり実行させる!
SpriteChar,DxChar,TextChar,PanelChar,SecretChar など、
appearメソッドを使って作られるオブジェクトは、
ProcessGroup.tonyu によって、自動的に管理・実行されています。
1つのオブジェクトの処理量を増やすには、
そのオブジェクトの処理を、他のオブジェクトに分担して処理してもらう必要があります。
そこで、appearメソッドを使わないで ProcessGroup.tonyu に頼らない、
自分で、オブジェクトを実行させる手法を使います。
前ページで、「複数のオブジェクトに処理を分担」と述べましたが、
実は、オブジェクトを1つ増やすだけで、処理分担が可能です。(わかりやすいイメージを作るために嘘つきました!)
標準版
appear(new SubChar(100, 100, 7));
オブジェクトを作る時は、通常は上のようなやり方でしょう。
appearなしでオブジェクトを動かす
newでオブジェクト生成
obj = new SubChar(100, 100, 7);
appearを使うと ProcessGroup.tonyu に処理を頼むことになるので、
newだけでオブジェクトを作る。
Processを作る
proc = new classes.lang.Process(obj, "", 1);
オブジェクトを動かすには、Processというオブジェクトを作ります。
無理やり動かしたいオブジェクトを、第1引数に指定してください。
第1引数には、newで生成したオブジェクトを指定します。
第2引数には、とりあえず""を入れてください。(使用用途は不明)
第3引数には、とりあえず1を入れてください。(使用用途は不明)
実行
proc.exec();
この命令で、オブジェクトが動きます。
エディタで書いたプログラムに従って動くことでしょう〜
サンプル
MainChar は、スプライトでオブジェクト作成あり、
SubChar は、スプライトでオブジェクト作成なしでクラスだけ作ってください。
/* MainChar.tonyu */
extends SpriteChar;
obj = new SubChar(100, 100, 7); // オブジェクトを作る
proc = new classes.lang.Process(obj, "", 1); // オブジェクトからプロセスを生成
while (1) {
proc.exec(); // 実行
update();
}
/* SubChar.tonyu */
extends SpriteChar;
while (1) {
x++;
drawSprite(x, y, p);
update();
}
とりあえず、MainChar から SubChar を動かすことはできます。
サンプルでは、MainChar から SubChar を作って、毎フレーム SubChar を実行させています。
appearを使っていないので、オブジェクト数も 1 のままです。

→ オブジェクトの処理量を増やす方法2
← 点滅現象について
← メインページ