トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

PictureFeedback

PictureFeedback

903

ボタンを押したら画像を表示する


  1. 複数の絵を用意しておく(バッファーに番号をつけて入れておく)
    1. 絵の大きさをピクセルで確認しておくこと
      1. buffer 番号
  2. ウィンドウの大きさを明示的に指定する
    1. 基本のウィンドウの番号は通常0
      1. screen 0, 640, 480
  3. 貼り付ける場所の座標を指定
    1. pos 200, 300
  4. gmodeで画像の取り扱いモードと大きさを指定
    1. 通常はモードは0でよい
    2. ここで大きさを指定しておけば、後はこれがデフォルトの大きさとなる
      1. gmode 0, 400, 300
  5. gcopyで番号で画像を呼び出して、その画像のどの部分を使うかを指定
    1. g「copy」という命令だけれど、これでコピペまで行う。
    2. gmodeで指定した大きさでよければ、大きさの指定は省略
      1. gcopy 2, 0, 0
    3. 部分的に使いたい場合は、左上座標と、大きさをピクセルで指定する
      1. gcopy 2, 0, 30, 400, 270
  6. 出した画像を「消す」には、もともとそこにあった画像をコピペして戻す
    1. 元の画像が1番で
    2. pos 200, 300 で貼り付けをしていたなら(大きさは同じなので省略)
      1. gcopy 1, 200, 300

 Picture Feedback "Fuji3"

pictureFeedback.hsp(6)

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