見出し画像

Excel VBAでブロック崩しを作ろう!(初めてのVBAプログラム)第4回

前回は、API関数を用いて、キーボードの操作で、図形「Racket」を動かしました。
今回は、図形「Ball」を動かします。Excelのブックは、前回の続きで作成していきます。

適当な大きさの円を図形で挿入します。そして、名前を「Ball」に変更しておいてください。

それでは、「Ball」を動かしましょう。取り敢えず、「board」だけに反射するようにします。

「Module2」の中では、使いにくいので、すべて切り取って、Sheet1の最後に貼り付けます。
「Ball」は、プログラム全体で使うので、前回のプログラムの先頭に追加しておきます。また、変数が増えて来たので、コメントを入れています。
「’」(アポストロフィ)の後は、実行されません。そこで、プログラムの内容が後でわかりやすいように、コメントを入れています。下記が「Module1」の先頭の部分になります。
まず、図形「Ball」用に変数「Ball」をShapeとして宣言しています。それから、この「Ball」を動かすのに必要な変数として、「BallDx」「BallDy」をそれぞれ、横方向な速さと縦方向の速さとして用います。
そして、「Racket」の速度として、変数「RacketMove」を用います。
それと、前回「Long」型で宣言していた変数を「Single」型に変更しています。前回の「Sub Init()」までのプログラムを削除して、下記のプログラムを張り付けてください。その方が、一部を変更するより、楽だと思います。

'オブジェクト
'Ws:ワークシート「disp」用
'Sh;図形「Racket」用
'Bd:図形「board」用
'Ball:図形「Ball」用
Dim Ws As Worksheet
Dim Sh As Shape
Dim Bd As Shape
Dim Ball As Shape


Dim BallRight As Single
Dim BallBottom As Single
Dim BdRight As Single

'図形「Ball」の速度
Dim BallDx As Single
Dim BallDy As Single

'図形「Racket」の速度
Dim RacketMove As Single

ここから先は

5,027字 / 2画像
テトリス、オセロなどのゲームを解説を付けながら、ExcelのVBAで作成します。 VBAが初めての人にも、分かるように解説したつもりです。 また、すべてコード(ソースコード)を付けています。

Excel VBA用でこれまで作ったゲームをまとめたものです。 プログラムは初めての人でも、内容が理解できるように解説を付けています。 す…

よろしければサポートお願いします!