スーパープロセッサ
〜 Tonyu System 改良プログラム 〜

オブジェクトの処理量を増やす方法

← メインページ
← 点滅現象について

目次
  1. オブジェクトの処理量を増やす方法
  2. オブジェクトの処理量を増やす方法2
  3. オブジェクトの処理量を増やす方法3
  4. オブジェクトの処理量を増やす方法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 のままです。
appearなしでオブジェクトを動かす

→ オブジェクトの処理量を増やす方法2



← 点滅現象について
← メインページ