[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/06 18:57 / Filesize : 237 KB / Number-of Response : 929
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【C++】 DirectX初心者質問スレ Part14 【C】



421 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 05:06:34 ]
てか、久々にD3DXSpriteいじったらほんとに色々仕様が変わっててワロタ
デバイスロストとか色々対応してないけど後は自分で考えるんだ

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() ;
}






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<237KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef