−トップへ−

ブロックくずしゲームを作る
その1 フォームの設計

はじめに

 ここでは,Imageコンポーネントだけを使って,ブロックくずしを作ってみます

 ブロックくずしもいろいろな方法で作ることができるので,ここに述べること以外にもいろいろな方法で作ることができます。初心者の方はここでのことを参考にしてどんどん改良していただければと思います。

 一般的には,プログラムコードを書く前に,フォームの設計を行いますが,ここではあえてプログラムで,フォームの設計をしていきたいと思います。

 まず,準備することは,フォームにImageコンポーネン トを1つ貼り付けるだけです。

 その後,Form1のForm1.Createイベントハ ンドラを呼び出します。


 すると,コードは下のようになります。

 type
  TForm1 = class(TForm)
   Image1: TImage;
   procedure FormCreate(Sender: TObject);
  private
   { Private 宣言 }
  public
   { Public 宣言 }
  end;
 
 var
  Form1: TForm1;
 
 implementation
 
 {$R *.dfm}
 
 procedure TForm1.FormCreate(Sender: TObject);
 begin
 //この部分にいろいろ書き込んでいきます
 end;

 上の「この部分にいろいろ書き込んでいきます」の部分(beginとend;の間)にプログラムソースを書いていきます。

フォームの設計

 まず,フォームの大きさを決めます。

 form1.ClientWidth:=400; フォームの内側の幅を400pxにする
 form1.ClientHeight:=500; フォームの内側の高さを500pxにする

Imageコンポーネントの設計

 次に,Image1を設計していきます。

 image1.Left:=0; Imageコンポーネントの左側の座標を0pxにする
 image1.Top:=0; Imageコンポーネントの上部の座標を0pxにする
 image1.Width:=form1.ClientWidth; Imageコンポーネントの幅をフォームの幅にする
 image1.Height:=form1.ClientHeight; Imageコンポーネントの高さをフォームの高さにする

 [image1.Width]と[image1.Height]は,
 image1.Width:=400;
 image1.Height:=500;
としても良いのですが,後からフォームの大きさを変えたいと思ったときに変更が大変になりますので上述のようにしました。



 次に,Imageコンポーネントに色を付けます。下の設定では,Imageコンポーネントの色を黒にしています。

 with image1.Canvas do Image.Canvasについて
 begin
  brush.Color:=clblack; ブラシの色を黒にする
  fillrect(image1.Canvas.ClipRect); Image.Canvas全体を塗りつぶす
 end;

まとめ

 以上のことをまとめると,次のようなコードになります。
(太字の部分が,新しく書かれたプログラムです。)

 type
  TForm1 = class(TForm)
   Image1: TImage;
   procedure FormCreate(Sender: TObject);
  private
   { Private 宣言 }
  public
   { Public 宣言 }
  end;

 var
  Form1: TForm1;

 implementation

 {$R *.dfm}

 procedure TForm1.FormCreate(Sender: TObject);
 begin
  form1.ClientWidth:=400;
  form1.ClientHeight:=500;
  image1.Left:=0;
  image1.Top:=0;
  image1.Width:= form1.ClientWidth;
  image1.Height:= form1.ClientHeight;
  with image1.Canvas do
  begin
    brush.Color:=clblack;
    fillrect (image1.Canvas.ClipRect);
  end;
 end;

 これを実行すると下のようになります。
(私のパソコンは,画面をクラシック設定にしてありますので,図のようなフォームになっていますが,
 これは,画面の設定によっていろいろ変化します。)



 次回は,この中でボールを動かしてみます。

−トップへ−