§2 モグラたたきゲームの制作 VB6
 (1) ボタンの配置(コントロール配列) 前へ 目次へ 次へ 

 モグラのかわりにボタンを使い、モグラたたきゲームを作る。ボタンを9個(3×3)並べて、色が変わったボタンをクリックするものである。


コントロール配列

 ボタン(モグラ)を9個配置するとき、普通に配置するとオブジェクト名がCommand1, Command2, ・・・, Command9 というようになる。例えば、9個のボタンのTopプロパティを判定するとき、次のように判定文が多くなる。また、ボタンを16個、25個と増やそうとすると ・・・。考えただけでも大変そうである。

If Command1.Top = …
  命令
ElseIf Command2.Top = …
  命令
 … … …
ElseIf Command9.Top = …
  命令
End If

 これを解消する方法として、オブジェクトを配列として扱う方法がある。配列にすれば、「オブジェクトの何番目」という形で指定することができるようになる。ここではオブジェクトがコマンドボタンなので、「コマンドボタン1の0番目」はCommand1(0)と表すことができる。これを、コントロール配列という。
 この方法を使用すると上記の判定は次のように書くことができる。

For n=0 To 8        '配列は0から数える
  IfCommand1(n).Top =…
    命令
    End If
Next n

 このようにすれば、たとえコマンドボタンが100個あっても、For n=0 To 99 とすれば良いことになる。


コントロール配列の使い方

 オブジェクトをコントロール配列として扱うには、オブジェクト名を同じにして、それぞれのIndexプロパティに配列の添字となる整数を設定する。

図2-1-1

 新規フォームを用意して、フォームにボタンを1個配置し、プロパティを次のように設定する。

(オブジェクト名) : Command1 … オブジェクト名
Caption : 0 … ボタンに表示する文字列
Index : 0 … 配列の添字設定。コントロール配列にする。
Style : 1 … ユーザ設定のピクチャ使用可

 同じ要領で残りのボタン8個を3×3に並ぶように配置すればよい(しかし、ここではしないこと)。このとき、オブジェクト名はすべて同じCommand1にし、各ボタンのIndexプロパティだけを1,2,3,・・・と順に変える。

 この場合では、ボタンが9個なのでひとつずつ配置しても、たいした仕事量ではないが、ボタンを100個配置しなければならない、といったケースでは大変なことになる。配置する個数にもよるが、少ない場合は直接デザインウィンドウに配置すれば良いし、多い場合は次で説明するようにプログラムでオブジェクトを作成して配置することになる。


 (1) ボタンの配置(コントロール配列) 前へ 目次へ 次へ 
Copyright © 2001,2002 Hiroshi Masuda 

 

 

inserted by FC2 system