コード例 #1
0
void AnimatedTexture::CalcTextureCoordinatesAtPercentComplete(float percentComplete, Vector2& minCoordinatesOut, Vector2& maxCoordinatesOut ){
	
	unsigned int animatedTextureIDAtPercentComplete = (int) floor( m_TotalNumberOfSprites * percentComplete );

	int coordinateRowofTextureID = 0;
	int coordinateColumnofTextureID = 0;

	while(animatedTextureIDAtPercentComplete > m_cellsPerRow-1){
		animatedTextureIDAtPercentComplete-= m_cellsPerRow;
		coordinateColumnofTextureID++;
		
	}
	coordinateRowofTextureID = animatedTextureIDAtPercentComplete;

	
	
	minCoordinatesOut = Vector2((float)coordinateRowofTextureID, (float)coordinateColumnofTextureID );
	minCoordinatesOut.ScaleNonUniform(cellSize );
	minCoordinatesOut.InverseScaleNonUniform(m_size );
	//minCoordinatesOut.Normalize();

	maxCoordinatesOut = Vector2(coordinateRowofTextureID + 1.0f , coordinateColumnofTextureID + 1.0f );
	maxCoordinatesOut.ScaleNonUniform(cellSize );
	maxCoordinatesOut.InverseScaleNonUniform(m_size );
	//maxCoordinatesOut.Normalize();
	

}