def draw(self, delta, position): if self.__mRunning: self.__mElapsedTime += delta if self.__mElapsedTime > self.__mMaxTime: self.__mCurrentFrame += 1 if self.__mCurrentFrame >= self.__mFramesX: self.__mCurrentFrame = 0 if not self.__mLooping: self.__mIsDone = True self.__mRunning = False self.__mElapsedTime = 0.0 Sprite.draw(self, position, self.__mDrawRect.move(self.__mCurrentFrame * self.__mFrameWidth, self.__mCurrentRow * self.__mFrameHeight))
class UIRender(object): mCamera = None mWorld = None mUI = None mTimeFont = None def __init__(self, camera, world): self.mCamera = camera self.mWorld = world self.mUI = Sprite(Resources.getInstance().mUI, self.mCamera.getScaledSize(4,1)) self.timefont = Resources.getInstance().getScaledFont(self.mCamera.scale.x) self.timesize = self.timefont.size("00:00:00") def render(self, delta): uipos = self.mCamera.getScaledSize(Camera.CAMERA_WIDTH / 2.0 - 2, Camera.CAMERA_HEIGHT - 1) self.mUI.draw(uipos) self.time = self.timefont.render(Time.convertToTimeString(self.mWorld.mTimer), 0, (255, 255, 255)) Pgl.app.surface.blit(self.time, (self.mCamera.getScaledSize(Camera.CAMERA_WIDTH / 2.0 - (self.timesize[0] / 2.0) / self.mCamera.scale.x, Camera.CAMERA_HEIGHT - ((Camera.CAMERA_HEIGHT +self.timesize[1]) / self.mCamera.scale.y))))