ブロックくずしゲームを作る
その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;
これを実行すると下のようになります。
(私のパソコンは,画面をクラシック設定にしてありますので,図のようなフォームになっていますが,
これは,画面の設定によっていろいろ変化します。)

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