void Iw2DSprite::Render(CIwSVec2 pPosition) { if(m_Angle > 0 || m_Angle < 0) { CIwMat2D RotationMatrix; RotationMatrix.SetRot(m_Angle, CIwVec2(pPosition.x + m_Center.x , pPosition.y + m_Center.y) ); Iw2DSetTransformMatrix(RotationMatrix); } if( m_Flip.x > 0 && m_Flip.y > 0) Iw2DSetImageTransform(IW_2D_IMAGE_TRANSFORM_ROT180); else if( m_Flip.x > 0 && m_Flip.y <= 0) Iw2DSetImageTransform(IW_2D_IMAGE_TRANSFORM_FLIP_X); else if( m_Flip.y > 0 && m_Flip.x <= 0) Iw2DSetImageTransform(IW_2D_IMAGE_TRANSFORM_FLIP_Y); Iw2DDrawImageRegion(m_SpriteSheet, pPosition, m_FrameSize, m_DrawRect, m_FrameSize); if(m_Angle > 0 || m_Angle < 0) Iw2DSetTransformMatrix(CIwMat2D::g_Identity); if( m_Flip.x > 0 || m_Flip.y > 0) Iw2DSetImageTransform(IW_2D_IMAGE_TRANSFORM_NONE); }
/** * Draws the enemy image */ void MeleeEnemy::draw() { if (mDrawDirection == 1) { Iw2DSetImageTransform(IW_2D_IMAGE_TRANSFORM_FLIP_X); } CIwSVec2 screenCentre = CIwSVec2((int16)Iw2DGetSurfaceWidth() >> 1, (int16)Iw2DGetSurfaceHeight() >> 1); b2Transform t = mBody->GetTransform(); CIwSVec2 pos = screenCentre + (CIwSVec2(int16(t.p.x*8), -int16(t.p.y*8))); float normalRegionHeight = (52.0f/100.0f) * ((mHealth/mMaxHealth)*100.0f); float hurtRegionHeight = 52.0f - normalRegionHeight; CIwColour col; col.Set(255, 50, 50); Iw2DSetColour(col); Iw2DDrawImageRegion(mImg, pos - CIwSVec2((mFrameWidth/1.5)*mSpriteScale, ((52/2)*mSpriteScale)), CIwSVec2(mFrameWidth*1.5, hurtRegionHeight*mSpriteScale), CIwSVec2(mFrame, mVerFrame), CIwSVec2(mFrameWidth, hurtRegionHeight)); col.Set(255, 255, 255); Iw2DSetColour(col); Iw2DDrawImageRegion(mImg, pos - CIwSVec2((mFrameWidth/1.5)*mSpriteScale, (((52/2)*mSpriteScale))-hurtRegionHeight), CIwSVec2(mFrameWidth*1.5, normalRegionHeight*mSpriteScale), CIwSVec2(mFrame, hurtRegionHeight+mVerFrame), CIwSVec2(mFrameWidth, normalRegionHeight)); if(mFrameDelay <= 0) { mFrame += (mFrameWidth); if (mFrame > (mFrameCount*mFrameWidth)) { //setIdle(); mFrame = 0; if(punching) { setIdle(); mPunchTimer = 10.0f; } } mFrameDelay = 5; } mFrameDelay--; Iw2DSetImageTransform(IW_2D_IMAGE_TRANSFORM_NONE); }