DirectX 9, 2D, and Tiles

Started by
1 comment, last by Glyce 20 years, 3 months ago
I''ve been poking around DirectX tutorials, and trying to focus only on DirectX 9. I can''t seem to find anything on Blitting, or any similar method for creating Tiled textures. Those that I have found are always for previous versions of DirectX, and from what I think I''ve read, those methods have been removed from DX9. If I''m wrong, or if anyone knows any information, I''d appreciate it if you could post it. Thanks!
Advertisement
There is DirectDraw in DirectX9. So, those tutorials may still work.
use the dx sprite, it is 2d, and sounds probably perfect for it.

if u want some code ive created a class on it.
class ColRGB {public:	DWORD colour;	ColRGB(int r, int g, int b)	{		colour = D3DCOLOR_XRGB(r,g,b);	}		ColRGB()	{	}};class Sprite {private:	LPD3DXSPRITE lp_Sprite;public:	Sprite()	{	}	~Sprite()	{		if( lp_Sprite != NULL ) 		{			lp_Sprite->Release();			lp_Sprite=NULL;		}	}	void init(LPDIRECT3DDEVICE9 * lp_Device)	{		lp_Sprite=NULL;		D3DXCreateSprite(*lp_Device, &lp_Sprite );	}	void draw(LPDIRECT3DTEXTURE9 * texture, float x, float y, int width, int height, int frameX, int frameY, float scaleX=1, float scaleY=1,ColRGB colour=ColRGB(255,255,255))	{		RECT abcRect;		abcRect.top    = frameY * height;		abcRect.left   =  frameX * width;		abcRect.bottom = abcRect.top  + height;		abcRect.right  = abcRect.left + width;		D3DXVECTOR2 dScaling(scaleX, scaleY);		D3DXVECTOR2 dCoords(x, y);		lp_Sprite->Draw( *texture, &abcRect, &dScaling, NULL, 0.0f, &dCoords, colour.colour );						}	};


to use it you have to...
Sprite mySprite;

//somewhere in init code...
mySprite.init(d3dDevice);

//somewhere in draw code....
mySprite.draw(aDxTexture,xPos,yPos,imagewidth,imageheight);


//u may want to slightly modify it but, it is very simple


[edited by - johnnyBravo on January 6, 2004 7:17:17 AM]

This topic is closed to new replies.

Advertisement