api
座標系とレイヤー
Tonyu2の画面はいくつかの層(レイヤー)から成り立っています。
- まず、ゲームが動作しているデバイスの画面全体のレイヤーを$uiLayer、その中に配置されたゲーム画面を$Screenと呼びます。
- さらに、$Screenは、画面の手前から順に$frontLayer、$mainLayer、$backLayerという3つのレイヤーからなります。
- これらの3つのレイヤーは独立してスクロール(平行移動・回転・伸縮)が可能です
オブジェクトを配置するレイヤーの指定
オブジェクト(Actor)を生成すると、デフォルトでは$mainLayerに配置されますが、生成時にlayerフィールドを設定すると、他のレイヤーに配置できます。
例:
new ScoreLabel{x:100, y:400, text:"Score: 0", layer:$frontLayer};
なお、Labelオブジェクトはデフォルトで$frontLayerに配置されます。
レイヤーのスクロール
$Screen.scrollToメソッド を用います。デフォルトでは$mainLayerをスクロールの対象としていますが、$Screen.selectLayerで別のレイヤーもスクロール可能です。
レイヤー間の座標変換
$Screen.convertメソッドを用いると、
あるレイヤーに置かれているオブジェクトの座標を、見た目の位置を変えずに別のレイヤーの座標に変換することができます。
マウスおよびタッチの座標系
$touchesおよび、$mouseX, $mouseYの座標系はデフォルトでは$Screenの左上を(0,0)、右下を($screenWidth, $screenHeight)としたものになっています。
$InputDevice.defaultLayerで座標系を変更できます。
.