Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2010, 17:42   #11
one1991
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 24
По умолчанию

Объект прорисовывается на форме проверял имена, все так как задано только вот не могу вспомнить как я делал раньше, находил объект и первый номер до которого дойдет мой персонаж, изчезал и становился неактивным, просто не могу вспомнить как я это делал -(
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Animate, GIFCtrl, ExtCtrls, StdCtrls, jpeg;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Image1: TImage;
    medved: TRxGIFAnimator;
    Timer2: TTimer;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  img: TRxGIFAnimator;

implementation

{$R *.dfm}

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=VK_LEFT then
  begin
    medved.Left:=medved.Left-4;
    medved.Animate:=True;
  end;
if key=VK_RIGHT then
  begin
    medved.Left:=medved.Left+4;
    medved.Animate:=True;
  end;
if key=VK_DOWN then
  begin
    medved.Top:=medved.Top+4;
    medved.Animate:=True;
  end;
if key=VK_UP then
  begin
    medved.Top:=medved.Top-4;
    medved.Animate:=True;
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
medved.Animate:=false;
if (medved.Left>=550) and (medved.Left<=638) then
  begin
    Image1.Picture.LoadFromFile('imgs/fon2.jpg');
    medved.Left:=56;
  end;
if (medved.Left<=50) and (medved.Left>=0) then
  begin
    Image1.Picture.LoadFromFile('imgs/fon1.jpg');
    medved.Left:=56;
  end;

end;

procedure TForm1.Timer2Timer(Sender: TObject);
var
i:integer;
begin
    {if medved.Left=img.left then
      begin
      Timer2.Enabled:=False;
        Showmessage('наш персонаж нашел клубнику');
      end; }
    for i:=1 to i*2 do
    begin
  img:=TRxGIFAnimator.Create(nil);
  img.Name:='straw'+inttostr(i);
  img.Top:=i*10;
  img.Left:=i*20;
  form1.caption:=IntToStr(i);
    end;
  img.Image.LoadFromFile('imgs/strawberry.gif');
  img.AutoSize:=true;
  img.Parent:=Form1;
end;

end.
one1991 вне форума Ответить с цитированием
Старый 30.05.2010, 03:50   #12
one1991
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 24
По умолчанию

люди мне кто-нибудь поможет с поиском компонентов???
one1991 вне форума Ответить с цитированием
Старый 30.05.2010, 04:37   #13
one1991
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 24
По умолчанию

Вот листинг моего кода компонент находится и даже делает с ним все что нужно только вот действие происходит с последним появившимся объектом на форме, а мне бы желательно чтобы с первым встречающимся на пути динамически созданным объектом происходило действие:
Код:
img.FindComponent(Name+inttostr(i));
if img.Left=medved.Left then
  begin
    img.Visible:=False;
  end;
Тоесть независимо от значения переменной i любой который только первый попался объект (динамический) чтобы с ним происходило действие.
Сейчас у меня код выглядит так:
Код:
begin
img.FindComponent('Straw'+inttostr(i));

img.ShowHint:=True;
img.Hint:=img.Name;
if (medved.Left>=img.Left) and  (medved.Left<=img.Left+img.Width) then
  begin
    img.Visible:=False;
  end;
end;
Но действие от этого не поменялось -(

Последний раз редактировалось one1991; 30.05.2010 в 05:13.
one1991 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FindComponent WOLFak Общие вопросы Delphi 9 07.07.2012 23:29
Динамическое создание и обращение через FindComponent Marsel737 Общие вопросы Delphi 3 10.03.2010 19:03
FindComponent StartMis Общие вопросы Delphi 3 15.12.2009 20:03
В чем я ошибся? FindComponent zotox Помощь студентам 5 29.09.2009 02:27
TEdit green Компоненты Delphi 17 16.03.2008 07:13