コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

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()