
22.06.2014, 15:34
|
Прохожий
|
|
Регистрация: 17.06.2014
Сообщения: 27
Версия Delphi: Delphi 7, XE6
Репутация: 10
|
|
почему та функция
Код:
function CollisionpnlStenaRect(var Pers:TImage; var brImage2:TPanel):Boolean;
var val:boolean;
R:TRect;
begin
val:=IntersectRect(R, Pers.BoundsRect, brImage2.BoundsRect);
if PPLRUD = 1 then
Pers.Left:=brImage2.Left+brImage2.Width
else if PPLRUD = 2 then
Pers.Left:=brImage2.Left-Pers.Width
else if PPLRUD = 3 then
Pers.Top:=brImage2.Top+brImage2.Height
else if PPLRUD = 4 then
Pers.Top:=brImage2.Top-Pers.Height;
result:=val;
end;
Возвращает true как происходит это
Код:
procedure TFormMain.Button1Click(Sender: TObject);
begin
SetLength(TypeQELI, 3);
SetLength(XQELI,3);
SetLength(YQELI,3);
SetLength(TypeQELI0TYPE,3);
SetLength(AICOMP,1);
setLength(AnimOX, 2);
setLength(AnimOY, 2);
setlength(Stens, 2);
setlength(Dveri, 2);
TypeQELI[0]:=0;
TypeQELI[1]:=0;
TypeQELI[2]:=0;
XQELI[0]:=0;
YQELI[0]:=0;
XQELI[1]:=0;
YQELI[1]:=0;
XQELI[2]:=0;
YQELI[2]:=0;
TypeQELI0TYPE[0]:=2;
TypeQELI0TYPE[1]:=2;
TypeQELI0TYPE[2]:=1;
IDLEVELS:=0;
FORMMain.BorderStyle:=bsNone;
FORMMain.WindowState:=wsMaximized;
PageControl1.Visible:=False;
Personages:=TImage.Create(ScrollBox1);
Personages.Parent:=ScrollBox1;
Personages.Left:=4;
Personages.Top:=8;
Personages.Picture.LoadFromFile('картинки\Алина.bmp');
Personages.Width:=256;
Personages.Height:=256;
ZEPEOTPNCOBKA;
stens[0]:=TPanel.Create(ScrollBox1);
stens[0].Parent:=ScrollBox1;
stens[0].Left:=190;
stens[0].Width:=26;
stens[0].Top:=0;
stens[0].Height:=241;
stens[0].Name:='pnlstens_0';
stens[1]:=TPanel.Create(ScrollBox1);
stens[1].Parent:=ScrollBox1;
stens[1].Left:=405;
stens[1].Width:=26;
stens[1].Top:=0;
stens[1].Height:=241;
stens[1].Name:='pnlstens_1';
Dveri[0]:=TPanel.Create(ScrollBox1);
Dveri[0].Parent:=ScrollBox1;
Dveri[0].Left:=190;
Dveri[0].Width:=121;
Dveri[0].Top:=241;
Dveri[0].Height:=26;
Dveri[0].Name:='pnlDveri_0';
Dveri[1]:=TPanel.Create(ScrollBox1);
Dveri[1].Parent:=ScrollBox1;
Dveri[1].Left:=311;
Dveri[1].Width:=121;
Dveri[1].Top:=241;
Dveri[1].Height:=26;
Dveri[1].Name:='pnlDveri_1';
livePersonages:=1000;
progressbar1.Max:=livePersonages;
ScrollBox1.Color:=ClRed;
end;
Хотя код использования этой функции вот
Код:
procedure TFormMain.ZEPEMEWEHNE_PERSONAGESTimer(Sender: TObject);
var i:integer;
begin
ZEPEMEWEHNE_PERSONAGES.Enabled:=FALSE;
if PPLRUD=1 then begin
Personages.Left:=Personages.Left-1;
end else if PPLRUD=2 then begin
Personages.Left:=Personages.Left+1;
end else if PPLRUD=3 then begin
Personages.Top:=Personages.Top-1;
end else if PPLRUD=4 then begin
Personages.Top:=Personages.Top+1;
end;
if Length(stens) > 0 then
for i:= 0 to length(stens)-1 do
if CollisionpnlStenaRect(Personages, stens[i]) then
PPLRUD:=0;
ZEPEMEWEHNE_PERSONAGES.Enabled:=True;
end;
|