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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.05.2013, 17:44
Ruz Ruz вне форума
Прохожий
 
Регистрация: 01.05.2013
Сообщения: 14
Версия Delphi: Delphi 7
Репутация: 10
Вопрос Вместо TShape, двигается Form1

У меня есть 2 функции и 2 таймера.

В первом таймере каждые 10 секунд вызывается 1 функция, которая создает TShape, с определенными параметрами:
Код:
function TForm1.ShapeCreating(id:integer; color:Tcolor):boolean;
var shape:TShape;
begin
shape:=TShape.Create(Form1);
shape.Parent:=Form1;
shape.Brush.color:=color;
shape.width:=random(300)+50;
shape.height:=random(300)+50;
shape.Left:=random(Form1.Width-shape.Width)+1;
shape.top:=1;
shape.tag:=id;
result:=true;
end;

Тем временем вторая функция по таймеру двигает этот Shape, пока не создастся новый.
Код:
function TForm1.ShapeGo(id:integer): boolean;
var Shape:TShape;
begin
  Shape.Tag:=id;
  shape.top:=shape.Top+shapespeed;
end;

idt изначально равна нулю и меняется во втором таймере:
Код:
procedure TForm1.CreatingTimerTimer(Sender: TObject);
begin
idt:=idt+1;
ShapeCreating(idt,clred);
end;

А вот 1 таймер:
Код:
procedure TForm1.GameTimerTimer(Sender: TObject);
var shape:tshape;
begin
 ShapeGo(idt);
 if shape.top>=Form1.height then shape.Destroy;
end;

Но моя задумка не работает: Создается Shape, но вместо того, чтобы его двигать, моя функция двигает форму. Помогите пожалуйста
Ответить с цитированием
  #2  
Старый 19.05.2013, 19:26
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

А почему Shape у Вас -локальная переменная? Сделайте её приватным полем формы, уберите var Shape:TShape; из всех процедур, и должно заработать.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter