§6 アニメーション(1) | プログラミング実習 |
☆ ☆ ☆ 課 題 ☆ ☆ ☆
【問題9】 次のVBによるアニメーションに関する文章の空欄を埋めよ。
アニメーション(animation)とは、複数の( @ )を順番に連続表示させることで、人間の眼の残像現象によって連続して動いているように見せるものである。アナログテレビで1秒間に約30枚(29.97fps)、(
A )では24枚(24fps)の静止画像を表示している。実際には、1秒間に4枚程度の表示で動いているように見える。
一般的に静止画像は、( B )オブジェクトに表示させる。まず、静止画像はプロジェクトの( C )として設定し、プログラムの中で( D )プロパティに設定することで表示させる。
ピクチャボックスオブジェクトの大きさと静止画像の大きさの関係は、( E )プロパティで設定することができる。また、ピクチャボックスオブジェクトの大きさは、幅が( F )プロパティ、高さが( G )プロパティで調べる(設定する)ことができる。
アニメーションは、設定した時間ごとに対応するメソッドが呼び出される( H )オブジェクトを利用して画像を切り替える。このオブジェクトの時間設定は( I )プロパティで行い、時間は( J )単位で設定する。また、このオブジェクトを働かせるかどうかは( K )プロパティで設定することができる。
複数の画像を切り替えるだけでなく、表示する場所を少しずつ変えると移動しているようにも見せることができる。水平方向の移動は( L )プロパティを加減算することで行う。同じように、垂直方向の移動は( M )プロパティを加減算することで行う。両方のプロパティを加減算すると斜め方向の移動も可能になる。
メソッド内で使用する変数は宣言しなければならない。変数の宣言には"Dim"または"Static"を使用する。違いは次の通りである。空欄を埋めよ。
( N ) で宣言 ( O ) で宣言 変数の有効期間 メソッドが実行中のときだけ プログラムが終了するまで
語群
Dim、 Enabled、 Height、 Image、 Interval、 Left、 SizeMode、 Static、 Top、
Width、 映画、 静止画像、 タイマー、 ピクチャボックス、 ミリ秒、 リソース
【問題10】 次のVBによるアニメーションに関する設問に答えよ。
(1) リソースに画像データgazouを登録してある。ピクチャボックス(picObj)オブジェクトに画像を表示するための命令を答えよ。
picObj.( @ ) = ( A )
(2) タイマー(Timer1)オブジェクトを働かせる(有効)にするための命令を答えよ。
Timer1.( @ ) = ( A )
(3) ピクチャボックス(picObj)オブジェクトを真下に10ピクセルずつ移動させるための命令を答えよ。
picObj.( @ ) = ( A )
(4) ピクチャボックス(picObj)オブジェクトを斜め右下に移動させるための命令を答えよ。
picObj.Top = picObj.Top ( @ ) 8
picObj.Left = picObj.Left ( A ) 4
(5) ピクチャボックス(picObj)オブジェクトの現在の座標が(x, y)= (100, 120)である。このとき、前の設問(4)の命令で移動させた後のピクチャボックスオブジェクトの座標を答えよ。
(x,y) = ( @ , A )
(6) ピクチャボックス(picObj)オブジェクトを移動させて、ウインドウ(フォーム)の右端に到着したときに「到着しました。」とメッセージを表示させるための命令を答えよ。
If picObj.Left + picObj.Width = ( @ ) Then
MsgBox("到着しました。")
End If
【課題8】 左向きの画像を2つ(left1.gifとleft2.gif)用意して、左方向に移動するときの画像が左向きになるようにプログラムを修正せよ。
プロジェクト名は「実習6アニメーション」のままでよい。
left1.gif
left2.gif
ヒント:右へ移動→dxが正、左へ移動→dxが負
§6 アニメーション(1) | Copyright©2008 Hiroshi Masuda |