オブジェクトの生成
2-2 :オブジェクトの複数生成2
Unit2.pas /
2-1
2-3
2-4
前節 2-1 では Unit1 のソースを記述しましたが、今回は Unit2 のソースを記述します。
Unit1 でタイマーが呼び出していた個所を中心に見てみましょう。
手順
1: ファイル > 新規作成 > ユニット を選択して下さい。
2: 以下のソースを書き写す。 (コピーアンドペーストでも OK ですが、若干のエラーが発生します)
unit
Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Dialogs, ExtCtrls;
type
TCatWalk =
class
(TImage)
//イメージコンポーネントを継承する
constructor
Create (AOwner: TComponent);
override;
procedure
Move;
end;
var
//オブジェクト数を宣言
CatWalk1: TCatWalk;
CatWalk2: TCatWalk;
CatWalk3: TCatWalk;
CatWalk4: TCatWalk;
CatWalk5: TCatWalk;
CatWalk6: TCatWalk;
CatWalk7: TCatWalk;
CatWalk8: TCatWalk;
implementation
uses
Unit1;
// Unit1 を使用
constructor
TCatWalk.Create (AOwner: TComponent);
begin
inherited
Create (AOwner);
//コンポーネントの作成
Parent := Cat;
//出現位置を、Cat( Unit1 )とする
Transparent := True;
// ネコの背景を透過する
end;
// Unit1 で呼び出していた個所
procedure
TCatWalk.Move;
begin
Picture.LoadFromFile('Cat1.bmp');
case
Random(16)
of
0 :
begin
Top := 10; Left := 10;
end;
1 :
begin
Top := 10; Left := 90;
end;
2 :
begin
Top := 10; Left := 180;
end;
3 :
begin
Top := 10; Left := 270;
end;
4 :
begin
Top := 90; Left := 10;
end;
5 :
begin
Top := 90; Left := 90;
end;
6 :
begin
Top := 90; Left := 180;
end;
7 :
begin
Top := 90; Left := 270;
end;
8 :
begin
Top := 180; Left := 10;
end;
9 :
begin
Top := 180; Left := 70;
end;
10:
begin
Top := 180; Left := 180;
end;
11:
begin
Top := 180; Left := 270;
end;
12:
begin
Top := 270; Left := 10;
end;
13:
begin
Top := 270; Left := 70;
end;
14:
begin
Top := 270; Left := 180;
end;
15:
begin
Top := 270; Left := 270;
end;
end;
end;
end.
トップに戻る
/
前に戻る
/
次へ