DX--Why wont this work?
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],▭,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
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
/ = divided by
I beleive you''re supposed to have / there, the bitwise OR operator
-------------------------------NeXe: NeHe DirectX-style. Follow the orange rabbit.
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
-------------------------------NeXe: NeHe DirectX-style. Follow the orange rabbit.
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
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement