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

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

canvas.putg(Xm0,Ym0,Xm1,Ym1,Xw0,Yw0,Xw1,Yw1)

ワーク画面の指定範囲をメイン画面の指定範囲にコピーします。
引数

  • Xm0: メイン画面の左上X座標
  • Ym0: メイン画面の左上Y座標
  • Xm1: メイン画面の右下X座標
  • Ym1: メイン画面の右下Y座標
  • Xw0: ワーク画面の左上X座標
  • Yw0: ワーク画面の左上Y座標
  • Xw1: ワーク画面の右下X座標
  • Yw1: ワーク画面の右下Y座標

メイン画面の指定範囲とワーク画面の指定範囲は必ずしも同じでなくて大丈夫です。異なる場合はメイン画面にコピーされるとき、ワーク画像が変形してコピーされます。描画結果はcanvas.putflush()か、canvas.draw〜命令が実行されるまで、実画面に表示されません。
使用例

function main()
local i
 canvas.workCls()
 canvas.loadBmp( LuaridaPath.."/".."chara.png", 0, 0, 31, 63 )
 canvas.loadBmp( LuaridaPath.."/".."back.png", 32, 0, 32+479, 319 )

 canvas.putg( 0, 0, 479, 290, 32, 0, 32+479, 319 )
 canvas.putflush()
 touch(3)
 canvas.putg( (4-1)*64, 208, (4-1)*64+31, 271, 0,0,31,63 )
 canvas.putflush()
 touch(3)
 for i=1,8 do
   canvas.putg( (i-1)*64, 208, (i-1)*64+31, 271, 0,0,31,63 )
   canvas.putflush()
   touch(3)
 end
end