#ifndef _SPRITECLASS_H_ #define _SPRITECLASS_H_ ////////////// // INCLUDES // ////////////// #include #include using namespace DirectX; /////////////////////// // MY CLASS INCLUDES // /////////////////////// #include "texture_class.h" //////////////////////////////////////////////////////////////////////////////// // Class name: sprite_class //////////////////////////////////////////////////////////////////////////////// class sprite_class { private: struct VertexType { XMFLOAT3 position; XMFLOAT2 texture; }; public: sprite_class(); sprite_class(const sprite_class&); ~sprite_class(); bool Initialize(ID3D11Device*, ID3D11DeviceContext*, int, int, char*, int, int); void Shutdown(); bool Render(ID3D11DeviceContext*); void Update(float); int GetIndexCount(); ID3D11ShaderResourceView* GetTexture(); void SetRenderLocation(int, int); private: bool InitializeBuffers(ID3D11Device*); void ShutdownBuffers(); bool UpdateBuffers(ID3D11DeviceContext*); void RenderBuffers(ID3D11DeviceContext*); bool LoadTextures(ID3D11Device*, ID3D11DeviceContext*, char*); void ReleaseTextures(); private: ID3D11Buffer* m_vertexBuffer, * m_indexBuffer; int m_vertexCount, m_indexCount, m_screenWidth, m_screenHeight, m_bitmapWidth, m_bitmapHeight, m_renderX, m_renderY, m_prevPosX, m_prevPosY; texture_class* m_Textures; float m_frameTime, m_cycleTime; int m_currentTexture, m_textureCount; }; #endif