2011-08-12 3 views
0

나는 많은 텍스처를 화면에 표시 할 수 있습니다. 이러한 텍스처 중 일부는 회전 또는 다른 변형이있을 수 있습니다. 모든 변환은 독립적입니다. 모든 독립적 인 텍스처에 대해 D3DXSprite를 생성해야합니까? 왜냐하면, 하나의 스프라이트 만 만들고 변환을 적용하면 스프라이트의 모든 텍스처에 영향을 미치기 때문입니다. 감사.D3DXSprite 및 텍스처 표시 및 다른 방법으로 회전

답변

0

없음) (:: ID3DXSprite 무승부를 문서로 상태 :

는, 확장, 회전 또는 스프라이트를 번역하려면 (스케일을 포함하는 매트릭스와 ID3DXSprite :: SetTransform이 전화를 회전 및 번역 SRT) 값을 사용하여 ID3DXSprite :: Draw를 호출합니다. 행렬에 SRT 값을 설정하는 방법에 대한 자세한 내용은 행렬 변환을 참조하십시오.

그래서 이런 식으로 뭔가 보일 것이다 : 어떤 객체가 변환을하지 않을 경우,

d3dxSpriteObject.Begin([...]); 
for(int i=0; i<numTextures; i++) 
{ 
    d3dxSpriteObject.SetTransform(matrix); 
    d3dxSpriteObject.Draw(texture[i], NULL, textureCenter[i], texturePos[i], 0xffffffff); 
} 
d3dxSpriteObject.End(); 
+0

을 내가 다음 SetTransformation을 할 필요하거나 더 좋은 방법이 될 수있다 할 \t \t \t \t> D3DXMATRIX 매트릭스; D3DXMatrixScaling (& matrix, 1, 1, 1); gSprite-> SetTransform (& matrix); – Yola

+0

나는 단지 추측 할 수 있지만, 내 생각에 변형은 다음 SetTransform()을 호출 할 때까지 그대로 유지됩니다. 그래서 나는 SetTransform()과 같은 것으로 추측한다. 무승부(); 무승부(); _both_ draw-calls는 SetTransform()에서 설정 한 값으로 이루어집니다. 당신은 그것을 밖으로 시도해야합니다;) –