Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

помогите с графикой [D7]


lorik08 ©   (2009-12-09 15:43:00) 

Здраствуйте. Пожалуйста помогите создать приложение , в котором по нажатию кнопки "шар" в клиентской области формы случайным образом периодически появляются и исчезают разноцветные окружности(выбор цвета случаен). Через каждые 30 секунд раздается звуковой сигнал. Форма меняет цвет. Через две минуты появляется вопрос о продолжении работы.


Jeer   (2009-12-09 17:49:00) [1]


> что-где хранить и куда это убирать


Есть такие места, называются переменные и есть более сложные структуры данных: массивы, списки и тп.


lorik08   (2009-12-09 16:24:00) [2]

ну теперь я вообще запуталась, что-где хранить и куда это убирать, объясните пожалуйста поподробнее. а то для меня это как-то сложновато


RWolf   (2009-12-09 16:20:00) [3]


> чтобы окружности появлялись и исчезали

значит, надо хранить где-то список видимых на данных момент окружностей и периодически убирать из него самую старую и добавлять новую, после чего перерисовывать всю форму.


lorik08   (2009-12-09 16:16:00) [4]

Ну забавный ,не забавный, а помогает. а проблема в том , что не получается сделать так, чтобы окружности появлялись и исчезали , то что у меня получается не правильно, да и вообще больше ничего не понятно:

procedure TForm1.Button1Click(Sender: TObject);

begin
  // Timer.Interval в милисекундах
 Timer1.Interval := 1000+1000*Random(9); //случайно от 0 до 9
 Timer1.OnTimer := DrawCircle;
 Timer1.Enabled := True;

end;
 procedure TForm1.DrawCircle(Sender: TObject);
var
 X, Y, R: Integer;
 C: TColor;
begin
 X := Random(Min(ClientHeight, ClientWidth)); // чтобы центр не выходил за пределы клиентской части окна
 Y := Random(Min(ClientHeight, ClientWidth)); // чтобы центр не выходил за пределы клиентской части окна
 R := Random(Min(ClientHeight, ClientWidth)) div 2; // чтобы радиус был меньше половины клиентской части окна
 C := TColor(Random(MaxInt));
 Canvas.Pen.Color := C;
 Canvas.Ellipse(X-R, Y-R, X+R, Y+R);
end;

end.


йцукен   (2009-12-09 16:12:00) [5]


> Игорь Шевченко ©   (09.12.09 15:52) [3]
> что сделано

Видимо ничего.


Игорь Шевченко   (2009-12-09 15:52:00) [6]


> учусь, то я дистанционно


У форума ? Забавный метод обучения.

показывай, что сделано, в чем именно проблема.


lorik08   (2009-12-09 15:50:00) [7]

какой там преподователь, учусь, то я дистанционно


Игорь Шевченко   (2009-12-09 15:47:00) [8]

Преподаватель, зараза, не помогает ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо