§4 画像(ピクチャコントロール)の利用 VB6 | |
(3) 画像のコピー W |
5. スプライト画像の移動
せっかく背景を透過して表示させることができたので、移動させてみる。Picture1を現在の位置から右方向へ移動させる。一度移動すると終わりである。
タイマー1つ(Timer1)を追加する。Timer1のIntervalプロパティを200に設定する。
・プログラムリスト
Private Sub Timer1_Timer() Dim dx As Integer dx = 10 Picture1.Left = Picture1.Left + dx End Sub
実行してフォームをクリックすると、合成画像であるPicture1のLeftプロパティを加算していき、右へ移動させている。
よく見ると、UFOの背景がそのままで透過しているとは言えない。当然である。スプライト処理はフォームをクリックしたときに1度しただけであるから。
・プログラムの修正
スプライト処理を行っているPrivate Sub Form_Clickのプロシージャ名をUFOIdouに変更する。
Private Sub Form_Click → Private Sub UFOIdou
TimerサブプロシージャにUFOIdouサブプロシージャの呼び出しを追加する。dx = 10 Picture1.Left = Picture1.Left + dx UFOIdou '←追加 End Sub
少しちらつくかも知れないが、スプライト処理された画像が移動する。
スピードが要求されるときは、API関数を利用するとよい。
(3) 画像のコピー W | |
Copyright © 2002 Hiroshi Masuda |