# -*- coding: utf-8 -*- import pygame class CMouse(object): mInstance = None mInitialized = False mPressed = False #mPressedLeastThanOneFrame = False mPrevPressed = False def __new__(self, *args, **kargs): if (self.mInstance is None): self.mInstance = object.__new__(self, *args, **kargs) self.init(self.mInstance) #else: # print "Warning: CMouse(): You are not allowed to instantiate it more than once." return self.mInstance def inst(self): return self.mInstance def init(self): if (self.mInitialized): return self.mInitialized = True self.mPressed = False #self.mPressedLeastThanOneFrame = False self.mPrevPressed = False def getPos(self): return pygame.mouse.get_pos() def getX(self): return pygame.mouse.get_pos()[0] def getY(self): return pygame.mouse.get_pos()[1] def pressed(self): return self.mPressed def firstPress(self): return (self.mPressed and not self.mPrevPressed) def release(self): return (not(self.mPressed) and self.mPrevPressed) def update(self): #print("mouse update") #print("x=" + str(self.getX())) #print("y=" + str(self.getY())) self.mPrevPressed = self.mPressed; pp = pygame.mouse.get_pressed() self.mPressed = (pp[0] == 1 and pp[1] == 0 and pp[2] == 0) def destroy(self): self.mInstance = None print "destroy"