sprite.move(スプライト番号, 表示モード, 中心X座標, 中心Y座標 [, 横倍率, 縦倍率 [, 回転角] ])
スプライトの移動位置などを指定します。
- スプライト番号: スプライト番号です。sirite.define()によって指定した0〜63番の番号を指定します。
- 表示モード: スプライト画像の表示方法を指定します。0:非表示, 1:表示後に自動的に非表示にします, 2:表示状態を保持します。
- 中心X座標: 表示位置のX座標を指定します。表示座標はsprite.define()によって指定した画像の中心基準に表示されます。指定範囲は -4096〜4095です。
- 中心Y座標: 表示位置のY座標を指定します。表示座標はsprite.define()によって指定した画像の中心基準に表示されます。指定範囲は -4096〜4095です。
- 横倍率: 表示時の横倍率を指定します。設定範囲は -31.5〜31.5 です。ただし、符号部1bit、指数部 3bit、仮数部 5bitの浮動小数扱いとなるので、精度はそれなりです。省略した場合は等倍となります。また、倍率を負の数にすると、画像が反転して表示されます。
- 縦倍率: 表示時の縦倍率を指定します。設定範囲は -31.5〜31.5 です。ただし、符号部1bit、指数部 3bit、仮数部 5bitの浮動小数扱いとなるので、精度はそれなりです。省略した場合は等倍となります。また、倍率を負の数にすると、画像が反転して表示されます。
- 回転角: 表示スプライト画像の回転角度です。設定範囲は 0〜359 です。ただし、360を256分割するので、精度は1.40625度です。省略した場合は回転しません。
表示したスプライト画像が表示後、自動的に非表示となると、事前に非表示設定をする必要がありません。一度表示して、後はずっとその位置に表示し続けたい場合は、表示モード2を指定してください。
sprite.put()をしても、canvas.putflush()を行うまでAndroidの画面には表示されません。また、倍率を余り大きくすると、メモリ不足で強制終了することがあります。
使用例 1
--スプライトの初期化 sprite.init() --スプライト画像定義(0番にワーク座標(0,0)-(55,64)の画像を割りつけます) sprite.define( 0, 0, 0, 55, 64 ) x = 200 y = 160 --スプライトの移動セット(0番のスプライト画像を(200,160)を中心座標にして描くように指定します) sprite.move( 0, 1, x, y ) canvas.putCls( color(255,255,255) ) --スプライト画像を描く sprite.put() canvas.putflush()
使用例 2
--スプライトの初期化 sprite.init() --スプライト画像定義(0番にワーク座標(0,0)-(55,64)の画像を割りつけます) sprite.define( 0, 0, 0, 55, 64 ) x = 200 y = 160 b = math.random(3)/2 kaku = math.random(359) --スプライトの移動セット --(0番のスプライト画像を(200,160)を中心座標にして、縦横倍率をb倍で kaku度回転させて描くように指定します) sprite.move( 0, 1, x, y, b, b, kaku ) canvas.putCls( color(255,255,255) ) --スプライト画像を描く sprite.put() canvas.putflush()