ここでは,従来のTonyu System(Tonyu1)とTonyu System 2(Tonyu2)の違いを説明します.
extends
は省略可能です。省略するとActorクラスを継承します。Tonyu1 の SpriteChar, DxChar, TextChar, SecretChar はActorクラスで代用可能です
x
, y
に値を設定するとSpriteCharと同等alpha
, rotation
, scaleX
, scaleY
に値を設定すると DxCharと同等text
に値を設定すると TextCharと同等p
に-1を設定すると SecretCharと同等PanelCharクラスは,ActorクラスのオブジェクトにPanelクラスのオブジェクトを作成させるか,extends Panel;
と書いてPanelの子クラスにすることで代用します.
mainメソッドが終了してもオブジェクトは消えません.明示的にdieメソッドを呼び出して下さい.
この仕様により,「表示だけを行なう,何も動作しないオブジェクト」をActorクラスを継承せずとも作成可能です.(Tonyu1では,明示的にクラスを作成し,waitメソッドを呼び出す必要があります)
例:
new Actor{p:$pat_BG, x:$screenWidth/2, y:$screenHeight/2}; // 背景
new Actor{text:"タイトル", x:200, y:200}; // タイトルのテキスト
Tonyu1ではオブジェクトの生成は次のように,オブジェクトの種類によって指定されたフィールド(SpriteCharならx,y,p)の値を渡して生成していました.
new Player(100,220,12);
指定されたフィールド以外の値を渡す場合,次のように,生成したオブジェクトを一旦変数に入れ,別の文を追加する必要がありました.
$player=new Player(100,220,12);
$player.life=5;
Tonyu2では,次のようにすべてのフィールドをオブジェクト生成時に一文で渡せるようになりました.
なお,Tonyu2でも,Tonyu1と同じ方法でx,y,pを渡すことも可能です.
new Player{x:100, y:220,p:12, life:5};
また,Tonyu1ではオブジェクトを実際に出現させるには次のようにappearメソッドを呼び出す必要がありましたが,Tonyu2では不要になっています.なお,Tonyu2でも互換性のためにこの書き方も許容されています.
appear(new Player(100,220,12));
rotation
atanxy
.