![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
помогите с графикой [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]Преподаватель, зараза, не помогает ?