*disclaimer
644739
PictureFeedback
644738
ボタンを押したら画像を表示する
- 複数の絵を用意しておく(バッファーに番号をつけて入れておく)
- 絵の大きさをピクセルで確認しておくこと
- buffer 番号
- 絵の大きさをピクセルで確認しておくこと
- ウィンドウの大きさを明示的に指定する
- 基本のウィンドウの番号は通常0
- screen 0, 640, 480
- 基本のウィンドウの番号は通常0
- 貼り付ける場所の座標を指定
- pos 200, 300
- gmodeで画像の取り扱いモードと大きさを指定
- 通常はモードは0でよい
- ここで大きさを指定しておけば、後はこれがデフォルトの大きさとなる
- gmode 0, 400, 300
- gcopyで番号で画像を呼び出して、その画像のどの部分を使うかを指定
- g「copy」という命令だけれど、これでコピペまで行う。
- gmodeで指定した大きさでよければ、大きさの指定は省略
- gcopy 2, 0, 0
- 部分的に使いたい場合は、左上座標と、大きさをピクセルで指定する
- gcopy 2, 0, 30, 400, 270
- 出した画像を「消す」には、もともとそこにあった画像をコピペして戻す
- 元の画像が1番で
- pos 200, 300 で貼り付けをしていたなら(大きさは同じなので省略)
- gcopy 1, 200, 300
Picture Feedback "Fuji3"
pictureFeedback.hsp(240)
; Picture Feedback ; copyleft 2017-07-12 sugiura@nagoya-u.jp ; ボタンを押したら、画像を表示する。 ; 数秒待って、元に戻す。 ;----------------------------------------------------------------------------- ;------------------------------------------------------------------------------ ; 背景画像 buffer 1 ; 画像を事前に読み込んでおく場所の番号 picload "fuji3.jpg" ; 画像を読み込んで、bufferに入れておく ;---------------------------------- ; 使う画像に番号をつけていく buffer 2 picload "rose2.jpg" buffer 3 picload "saboten2.jpg" buffer 4 picload "cups2.jpg" ;------------------------------------------------------------------------------- screen 0, 640, 480 ; ウインドウの初期化 0番、ウインドウの大きさの指定 ; bufferを使って画像を読み込んだときは、明示的にウィンドウを指定する ;------------------------------------------ *main ; 背景画像を表示(スクリーンの大きさと背景画像のサイズを同じにしてある) ; 背景に画像を配置しないのであればこの部分不要。 gmode 0, 640, 480 ; 表示モードと大きさ指定 pos 0,0 ; 左上角から、 gcopy 1, 0, 0;, 640, 480 ; 1番の画像(buffer 1)を表示 ;------------------------------------------ ; ボタンの配置 pos 200, 400 button gosub "Rose", *rose pos 300, 400 button gosub "Saboten", *saboten pos 400, 400 button gosub "Cups", *cups ;------------------------------------------------------------------ ; 下に、その他のボタンを配置 *Quit pos 580, 460 button "Quit", *owari ;------------------------------------------------------------------------- stop *owari end ; -------------------------------- sub --------------------------------------- *rose pos 200, 50 ; 画像を配置する位置 gmode 0, 273, 262 ; モード0で通常画像コピー, 画像の大きさをx, y で gcopy 2, 0, 0;, 273, 262 ; 画像の番号(buffer 2), その画像の左上の座標, (大きさを指定できる) ; 大きさの指定を省略したらgmodeで指定した大きさとなる wait 200 gcopy 1, 200, 50;, 273, 262 ; 元の背景画像(buffer 1)に戻す ; 左上は、上のposで開始点を指定したところ, (大きさを指定できる) ; 大きさの指定を省略したらgmodeで指定した大きさとなる return *saboten pos 300, 50 gmode 0, 208, 212 ; 画像の大きさ指定 gcopy 3, 0, 0 ; 3番の画像 wait 200 gcopy 1, 300, 50 ; 元の画像(1番)に戻す return *cups pos 400, 50 gmode 0, 190, 126 gcopy 4, 0, 0 wait 200 gcopy 1, 400, 50 return ; End of Script
PictureFeedback.zip(492)
https://sugiura-ken.org/wiki/