Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.17;
Скачать: CL | DM;

Вниз

DelphiX на разных машинах - полупрозрачность и скорость   Найти похожие ветки 

 
VK ©   (2006-02-20 10:14) [0]

Добрый день!
Пишу арканоид на DelphiX.
На 1 машине (атлон 2200+, радеон 9600) - все нормально.
На 2 машине (P4 2400, Intel 82865G) столкнулся с проблемой:
 Image.DrawAlpha(Engine.Surface,Rect,0,100);
- Image вообще не отображается. Если
 Image.DrawAlpha(Engine.Surface,Rect,0,255);
то отображается, естественно непрозрачно.

И еще вопрос: как сделать, чтоб на разных машинах скорость движения спрайта была бы одинаковой? (На 2 машине все движется значительно быстрее)


 
KreeS ©   (2006-02-20 10:37) [1]

Нужно считать тики процессора и двигать спрайт только когда прошло нужное кол-во времени.

var
 PrevTime: Int64;
 CurTime: Int64;
begin
 CurTime := GetTickCount;
 PrevTime := CurTickCount;

 repeat
   DrawScene;  // здесь рисуется вся сцена
   
   CurTime := GetTickCount;
   if CurTime - PrevTime >= 50 then  // каждые 50 милисекунд
   begin
     GameDoStep;  // здесь обновляются позиции спрайтов и вся остальная физика
     PrevTime := CurTime;
   end;

   Application.ProcessMessages;
 until Application.Terminated;
end;


 
KreeS ©   (2006-02-20 10:53) [2]

А вообще в ДелфиХ, помоему есть таймер специально для этого :)
а насчет прозрачности незнаю


 
VK ©   (2006-02-20 11:16) [3]

[1] - спасибо!


 
VK ©   (2006-02-20 16:42) [4]

По полупрозрачности:
 Пример с Image.DrawAlpha из пакета с исходниками тоже не отображает полупрозрачность на 2 машине. Нашел в примерах другой DrawAlpha из модуля DXFusion, но там уж очень мудрено, хочется, чтоб обычный работал.
Никто, что ли не встречал проблему?


 
KreeS ©   (2006-02-20 21:16) [5]

Может там с дровами или с ДиректХ проблемы?


 
VK ©   (2006-02-21 15:08) [6]

Интересно.... после установки DXDraw.Display в 16 битный режим полупрозрачность стала отображаться и на 2 машине. До этого стоял 32 битный



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

Текущий архив: 2006.12.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
15-1164269293
Ling
2006-11-23 11:08
2006.12.17
freelance


2-1164635692
Draught
2006-11-27 16:54
2006.12.17
Событие DBEdit - нажатие Enter или другой заданой клавиши


2-1164983329
vitv
2006-12-01 17:28
2006.12.17
DISTINCT + DBLookupComboBox


2-1164868094
pavel_guzhanov
2006-11-30 09:28
2006.12.17
Работа с XML


15-1164559051
Kosh#L
2006-11-26 19:37
2006.12.17
лицензионный Turbo Pascal 7.0