スポンサードリンク
« »


カーソルで画像を動かす 『HSP3』

2009 年 2 月 23 日 月曜日  【 カテゴリー: HSP3 , サンプル


前回はカーソルで図形(円)を動かしてみました。今回は画像を動かしてみます。基本は「カーソルで図形を動かす」で書かれていることと同じです。

●使用関数・命令
buffer picload screen repeat cls gcopy circle stick if await
●サンプル画像
サンプル画像

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
【例1】
x = 50:y = 50
buffer 1
picload "test.bmp"
screen 0,400,200
repeat
    cls
    pos x,y:gcopy 1,0,0,50,50
    stick key,15
    if key=128 : end
    if key&1 : x = x-10
    if key&4 : x = x+10
    if key&2 : y = y-10
    if key&8 : y = y+10
    if x <= 0 : x = 0
    if x >= ginfo_winx - 50 : x = ginfo_winx - 50
    if y <= 0 : y = 0          
    if y >= ginfo_winy - 50 : y = ginfo_winy - 50
    await 50  
loop
  【コメント】
 
;バッファ領域指定
;画像読み込む
;windowサイズ
 
;画面をクリア
;画像を表示
;キー情報取得
;ESCで閉じる
;左へ移動
;右へ移動
;上で移動
;下へ移動
;左端判定
;右端判定
;上端判定
;下端判定
;50ms

6行目で画面をクリアして7行目で画像を表示する作業を繰り返しています。画像表示のx座標とy座標が変数になっており、変数の値を変えることにより動いているように見えます。

2行目でバッファー領域をウィンドウID「1」に指定して作成します。この時点で作業領域はバッファ領域「1」になっているので3行目での画像読み込みはバッファ領域「1」に対して行われます。バッファー領域「1」に画像名「test.bmp」サイズ50×50の画像が表示されました。4行目でウィンドウID「0」でサイズ400×200のウィンドウを作成します。作業領域がウィンドウ「0」に切り替わりました。7行目「gcopy」命令で、ウィンドウID「1」つまりバッファー領域の座標「0,0」からサイズ50×50の部分をコピーして表示しています。8~17行目で押されたキーを判定して座標を変更し動いているようにみせてます。


14~17行目で端に来たときの制御をしています。今回は座標の基準が画像の左上です。上端や左端は単純に「0」がきたときに端だと判断すればいいのですが、右端や下端の場合は画像のサイズ分を考慮しなければなりません。画像の右端は横サイズが50あるので「ginfo_winx - 50」になります。下段も同様に「ginfo_winy - 50」になります。14~17行目は下限値や上限値を超えてもその値にして、はみ出ないようにしています。
 


にほんブログ村 IT技術ブログ Webサイト構築へ
にほんブログ村
【WEBサイト構築・プログラムブログ】
ランキング参加中!よろしければ「クリック」お願いします。
にほんブログ村 IT技術ブログ プログラム・プログラマへ
にほんブログ村
2009 年 2 月 23 日 月曜日  【 カテゴリー: HSP3 , サンプル

コメントをどうぞ

※管理者による確認後に表示されます。表示までしばらくお待ちください。





デジもの通販