§7 アニメーション(2)1 | プログラミング実習 |
画像データを切り替えて表示するアニメーションのプログラムについて学習する。また、特別なイベントである「Load」や「FormClosing」とウィンドウの設定についても学習する。
利用するオブジェクト等 |
カウンタ(NumericUpDown) Loadイベント、 FormClosingイベント |
【1】 プログラム作成の準備
操作 1 【課題8】または前回の実習で作成したプロジェクト名「実習6アニメーション」を開く。フォーム(Form1)のTextプロパティを「実習6アニメーションB」に変更する。
【2】 移動スピードの変更
画像の切り替えと移動のスピードは、タイマー(Timer1)オブジェクトのIntervalプロパティの値と移動量で決まる。スピードを速くするにはIntervalプロパティの値を小さくするか、移動量を大きくする。
ここではIntervalプロパティの値を変更して、スピードが変更できるようにする。
操作 2 カウンタを1つ追加し、プロパティを次のように設定する。
カウンタは、正式には「NumericUpDown」オブジェクトという。入力欄の右側にある上下のボタンをクリックすると入力欄の数値が変わる。実行中の値はValueプロパティで参照することができる。入力可能な値の範囲はMaximumプロパティとMinimumプロパティで設定できる。
(Name) SpeedCnt Font.Size 12 (ポイント) Location 100, 10 Maximum 10 (最大値) Minimum 1 (最小値) Size 50, 25 (50,23) Value 5 (現在値)
操作 3 カウンタ(SpeedCnt)のイベントに対応するメソッドを次のように作成する。
イベントは、クリックではなく、値が変わったときに発生するイベントでバリューチェンジ(ValueChange)イベントという。
Private Sub SpeedCnt_ValueChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles SpeedCnt.ValueChanged
Timer1.Interval = SpeedCnt.Value * 100
End Sub
タイマー(Timer1)のIntervalプロパティにカウンタの値を100倍した値を代入しているだけである。カウンタの値は1〜10の範囲であるからIntervalプロパティのは100〜1000の範囲となる。
操作 4 プログラムを実行する。[アニメ]ボタンをクリックする。
クリックするとアニメーション(移動)が始まる。カウンタの数値を変えるとスピードが変わる。
§7 アニメーション(2)1 | Copyright©2008 Hiroshi Masuda |