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

Вниз

Простенькая программка на DirectX   Найти похожие ветки 

 
delpher_gray ©   (2004-03-14 22:03) [0]

Хочу разобраться с DirectX"ом, вот написал небольшой код программ, которая должна выводить изображение на экран, но в коде есть ошибка, и не знаю из-за чего :(

Вот код:
...

var
 Msg: TMSG;
 Wnd: hWnd;
 Wce: WNDCLASSEX;
 Cancel: boolean;
 DDraw: TDirectDraw;
 DDSPrimary, DDSOne, DDSBack: TDirectDrawSurface;
 Game: TGame;

...

procedure TGame.DoInit;
var
 Desc: TDDSurfaceDesc;  
 Caps: TDDSCAPS;
begin
 try
   DDraw := TDirectDraw.Create(nil);
   DDraw.SetCooperativeLevel(Wnd, DDSCL_EXCLUSIVE or DDSCL_FULLSCREEN);
   DDraw.SetDisplayMode(1024, 768, 16);

   Desc.dwSize := SizeOf(Desc);
   Desc.dwFlags := DDSD_CAPS or DDSD_BACKBUFFERCOUNT;
   Desc.ddsCaps.dwCaps := DDSCAPS_PRIMARYSURFACE or
                          DDSCAPS_FLIP or
                          DDSCAPS_COMPLEX;
   Desc.dwBackBufferCount := 1;

   DDSPrimary := TDirectDrawSurface.Create(DDraw, Desc);

   Caps.dwCaps := DDSCAPS_BACKBUFFER;
   DDSBack := DDSPrimary.GetAttachedSurface(Caps);    
                               
   DDSOne := DDraw.LoadBitmap(SpriteFile, 256, 256);
 except
   on Exception do
   begin
     ShowMessage("DirectDraw init failed !");
     Game.Finish;
     raise;
   end;
 end;
end;

...

procedure TGame.OnDraw(X, Y: integer);
var
 Rect: TRect;
begin
 SetRect(Rect, 0, 0, 1024, 768);

 DDSBack.BltFast(X, Y, DDSOne, @Rect, DDBLTFAST_WAIT); // Тут ошибка !!
 DDSPrimary.Flip(nil, DDFLIP_WAIT);
end;


Ошибка вылазеет когда я пытаюсь вывести изображение на экран, а почему !?

Заранее благодарен.


 
Kobik ©   (2004-03-15 19:46) [1]

>> SetRect(Rect, 0, 0, 1024, 768);

Может 1, 1, 1024, 768
или 0, 0, 1023, 767 ?



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

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

Наверх




Память: 0.47 MB
Время: 0.029 c
4-1085380368
_shark_
2004-05-24 10:32
2004.07.04
Мастера, кто нить может подкинуть описание функции


3-1086695303
white
2004-06-08 15:48
2004.07.04
Посоветуйте какой компонент подойдёт...


1-1087744096
Солер
2004-06-20 19:08
2004.07.04
Размер формы и разрешение экрана


1-1087392711
Tom
2004-06-16 17:31
2004.07.04
Delphi и DLL на C


14-1086330291
Романов Р.В.
2004-06-04 10:24
2004.07.04
Выбор HDD