yC++z DirectX‰SŽ ..
[2ch|¥Menu]
421:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
07/09/27 05:06:34
‚Ä‚©A‹vX‚ÉD3DXSprite‚¢‚¶‚Á‚½‚ç‚Ù‚ñ‚Æ‚ÉFXŽd—l‚ª•Ï‚í‚Á‚Ăăƒƒ^
ƒfƒoƒCƒXƒƒXƒg‚Æ‚©FX‘Ήž‚µ‚ĂȂ¢‚¯‚ÇŒã‚ÍŽ©•ª‚Ål‚¦‚é‚ñ‚¾

class MySprite{
@@MySprite( LPDIRECT3DDEVICE9 dev, TCHAR* file ) ;
@@~MySprite(){
@@@@if(tex)tex->Release() ;
@@@@if(sprite)sprite->Release() ;
@@}
@@void Draw(float x, float y, float w, float h ) ;

@@LPD3DXSPRITE sprite ;
@@LPDIRECT3DTEXTURE9 tex ;
@@D3DXIMAGE_INFO info;
} ;
MySprite::MySprite(LPDIRECT3DDEVICE9 dev, TCHAR *file):sprite(NULL),tex(NULL)
{
@@D3DXGetImageInfoFromFile(file, &info);
@@D3DXCreateTextureFromFileEx(dev,file,info.Width,info.Height,
@@@@1,0,D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,&tex);
@@D3DXCreateSprite ( dev, &sprite ) ;
}
void MySprite::Draw(float x, float y, float w, float h)
{
@@sprite->Begin(0) ;
@@3DXMATRIX scale, trans ;
@@D3DXMatrixScaling ( &scale, ((w==0)?info.Width:w)/(float)info.Width, ((h==0)?info.Height:h)/(float)info.Height, 0.0f ) ;
@@D3DXMatrixTranslation ( &trans, x, y, 0 ) ;
@@sprite->SetTransform(&(scale*trans)) ;
@@sprite->Draw ( tex, NULL, NULL, NULL, 0xffffffff ) ;
@@sprite->End() ;
}


ŽŸƒy[ƒW
‘±‚«‚ð•\ަ
1‚ð•\ަ
ÅVƒŒƒX•\ަ
ƒXƒŒƒbƒh‚ÌŒŸõ
—ÞŽ—ƒXƒŒˆê——
˜b‘è‚̃jƒ…[ƒX
‚¨‚Ü‚©‚¹ƒŠƒXƒg
¥ƒIƒvƒVƒ‡ƒ“‚ð•\ަ
‰É‚‚Ԃµ2ch

5186“ú‘O‚ÉXV/237 KB
’S“–:undef