Вниз
Скачать: CL | DM;

Альтернатива TTimer   Найти похожие ветки 

 
Max2 ©   (2002-10-07 08:59) [0]

Пишу игрушку Xonix (если кто помнит такая старенькая была). Движение шаров реализовываю через интервал TTimer`а. При большом количестве шаров на медленной машине (Cel 800 !!!) двигаться начинают ощутимо медленнее. Подскажите, чем можно заменить??


 
MBo ©   (2002-10-07 09:07) [1]

Дело, возможно, и не в таймере, а в алгоритме.
Если нужен таймер с меньшим минимальным интервалом, можно попробовать TimeSetEvent


 
Max2 ©   (2002-10-07 09:15) [2]

Вообще выполнение операций у меня довольно таки помоему нехитрое. Я анализирую следующие 3 координаты по направлению движения шара; стираю предыдыщее положение шара и отрисовываю текущее. Беда только в том, что все шары (вместе с курсором) у меня двигаются по одному таймеру. Есть ли смысл для create каждого шара креэйтить для него собственный таймер ??


 
MBo ©   (2002-10-07 09:17) [3]

>Есть ли смысл для create каждого шара креэйтить для него собственный таймер ??
Нет, надо обходиться одним. Видимо, долго считается-прорисовывается. Как стираешь предыдущее?


 
Max2 ©   (2002-10-07 09:22) [4]

Просто беру и закрашиваю его тем же цветом, что и фон моего битмапа...

procedure TBall.Brush_ball_erase(prior_x_ball_coord,prior_y_ball_coord:integer; BTM:TBitMap);
begin
BTM.Canvas.Pen.Color := $00E5E5E5;
BTM.Canvas.Brush.Color := $00E5E5E5;
BTM.Canvas.Ellipse(prior_x_ball_coord-9,prior_Y_ball_coord-9,prior_X_ball_coord+9,prior_Y_ball_coord+9);
end;



 
int64 ©   (2002-10-07 09:43) [5]

Шары, наверное, по ходу движения в каждом пикселе рисуются?


 
Max2 ©   (2002-10-07 09:52) [6]

Неа, шаг через 3 пикселя



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
14-56326
Shadow
2002-09-23 21:42
2002.10.17
Кто я такой, и зачем живу?


1-56212
Andy BitOff
2002-10-07 20:31
2002.10.17
Клавиатура


1-56187
Азеев Андрей
2002-10-07 15:38
2002.10.17
Вызов MDI-Child формы из DLL


7-56366
DeepProg
2002-08-06 16:40
2002.10.17
Значения для переменных TWin32FindData и его потомков


6-56257
star
2002-08-15 22:11
2002.10.17
Как работать с почтой?




   Наверх