§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 

 

 

inserted by FC2 system