Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #11  
Старый 22.06.2014, 15:34
Alexandr_17_10 Alexandr_17_10 вне форума
Прохожий
 
Регистрация: 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;

Последний раз редактировалось Alexandr_17_10, 22.06.2014 в 15:56.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:47.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025