DX--Why wont this work?

Started by
3 comments, last by ECKILLER 24 years, 3 months ago
Hi, I''m new to DX, and trying to o some sprites, heres the code that i''m having trouble to get to work, Also everything compiles ok and my color keys work. void Blt_Sprites() { RECT rect; // this is my background picture the size of the screen lpDDSBack->BltFast(0,0,arr_anime[0],NULL,DDBLTFAST_WAIT/DDBLTFAST_SRCCOLORKEY); // set the array to element 1 which is my character surface current_image = 1; // set source rct to the size of my picture, my characters // picture is 400x400 rect.left = 0; rect.top = 0; rect.bottom = 400; rect.right = 400; // blt the character to 200,200 lpDDSBack->BltFast(200,200,arr_anime[current_image],&rect,DDBLTFAST_WAIT/DDBLTFAST_SRCCOLORKEY); lpDDSPrimary->Flip(0,DDFLIP_WAIT); } Ok here''s whats wierd, if i set the first 2 parameters to 0,0 on my second blit and the source rect to null it works fine. But my sprite is at 0,0. I can''t get it to work setting any other coordinates. Help please. Thanks in ad. Frank ECKILLER
ECKILLER
Advertisement
One thing that looks wrong, you''re doing this: DDBLTFAST_WAIT/DDBLTFAST_SRCCOLORKEY
/ = divided by
I beleive you''re supposed to have / there, the bitwise OR operator
Ahhhhh, never mind, You did have that, the font this text is displayed in just doesn''t have a character for the bitwise or operator
what screen resolution are you using? if you''re at 640x480 this won''t display at (200,200) because your sprite has a height of 400 and 200+400=600 which goes past 480. You have to use clipping to only display the visible section. Try blitting to (200,50) just to see if it works right.
Carl "trixter"[email=carl@trixoft.com]carl@trixoft.com[/email]http://www.trixoft.com
That was it, i set it to 200,50 and it worked.
ECKILLER

This topic is closed to new replies.

Advertisement