diff options
author | Alan Aguiar <alanjas@hotmail.com> | 2012-03-08 05:07:20 (GMT) |
---|---|---|
committer | Alan Aguiar <alanjas@hotmail.com> | 2012-03-08 05:07:20 (GMT) |
commit | f61165c6d7d75ed48799b5d2e668d458e4d71b8d (patch) | |
tree | 9d986d34869530fa8aeae1a2867aa84e2a0f56cf | |
parent | 1117f4173fb93f060c04412aae511b83d3bbb8be (diff) |
create a label to show the final state of a piece
-rwxr-xr-x | src/states/Area1Game1.py | 51 |
1 files changed, 43 insertions, 8 deletions
diff --git a/src/states/Area1Game1.py b/src/states/Area1Game1.py index b12fffd..0367320 100755 --- a/src/states/Area1Game1.py +++ b/src/states/Area1Game1.py @@ -27,6 +27,9 @@ import api.Mouse as Mouse import api.Math as Math +import api.Label +from api.Label import CLabel + STATE_STALE = 0 STATE_DRAG = 1 @@ -39,7 +42,7 @@ class Piece(CSprite): mState = None - + mParent = None MIN_DISTANCE = 40 TIME_RETURN = 15 @@ -57,8 +60,12 @@ class Piece(CSprite): def init(self): CButton.__init__(self) + self.setMaxVel(100, 100) self.setState(STATE_STALE) + + def set_parent(self, aParent): + self.mParent = aParent #image = .... def set_origin(self, aOrigin): self.mOrigin = aOrigin @@ -83,7 +90,8 @@ class Piece(CSprite): self.setXY(x, y) if self.clicked(): d = Math.dist(self.mPos.getX() , self.mPos.getY(), self.mDest.getX(), self.mDest.getY()) - print 'drag-dist:', d + #print 'drag-dist:', d + #self.d2 = d / 2 #print 'pos', self.mPos.getX() #print 'dest', self.mDest.getX() if (d < self.MIN_DISTANCE): @@ -95,12 +103,18 @@ class Piece(CSprite): if (self.mState == STATE_ADJUST): if (Math.dist(self.mPos.getX() , self.mPos.getY(), self.mDest.getX(), self.mDest.getY()) < self.RADIUS_COLLISION): + self.mParent.mOption1.set_bgColor((0x19, 0x1C, 0xC0)) self.setState(STATE_OK) + if (self.mState == STATE_RETURN): - if (Math.dist(self.mPos.getX() , self.mPos.getY(), self.mOrigin.getX(), self.mOrigin.getY()) < self.RADIUS_COLLISION): + dist = Math.dist(self.mPos.getX() , self.mPos.getY(), self.mOrigin.getX(), self.mOrigin.getY()) + if (dist < self.RADIUS_COLLISION): #play(Sonido mal) self.setState(STATE_STALE) + #else: + # if (dist < self.d2): + # self.setState(STATE_RETURN) if (self.mState == STATE_OK): return @@ -130,8 +144,8 @@ class Piece(CSprite): print 'estado retorno' print 'pos', self.mPos.getX(), self.mPos.getY() print 'orig', self.mOrigin.getX(), self.mOrigin.getY() - x = (self.mOrigin.getX() - self.mPos.getX()) / self.TIME_ADJUST - y = (self.mOrigin.getY() - self.mPos.getY()) / self.TIME_ADJUST + x = int((self.mOrigin.getX() - self.mPos.getX()) / self.TIME_ADJUST) + y = int((self.mOrigin.getY() - self.mPos.getY()) / self.TIME_ADJUST) print 'vel', x, y self.setVelXY(x, y) if (aState == STATE_OK): @@ -166,11 +180,11 @@ class CArea1Game1(CGameState): self.mButtonBack = CButton() #TODO: Create a function to create image. - self.mButtonBack.bgColor = (0x99, 0x99, 0x66) + self.mButtonBack.set_bgColor((0x99, 0x99, 0x66)) self.mButtonBack.font = pygame.font.Font('assets/fonts/fipps.ttf', 20) self.mButtonBack.setCenter((110, 420)) - self.mButtonBack.size = (200, 40) - self.mButtonBack.text = "Volver" + self.mButtonBack.set_size((200, 40)) + self.mButtonBack.set_text('Volver') CGame().addChild(self.mButtonBack) self.mBackground = Image.loadImage('assets/images/back_game.png', False) @@ -189,6 +203,7 @@ class CArea1Game1(CGameState): CGame().addChild(self.mArea2) self.mPiece1 = Piece() + self.mPiece1.set_parent(self) self.mPiece1.setImage('assets/images/piece1.png', False) self.mPiece1.set_origin(CVector(350.0, 600.0)) self.mPiece1.set_destine(CVector(435.0, 283.0)) @@ -197,6 +212,22 @@ class CArea1Game1(CGameState): CGame().addChild(self.mPiece1) + self.mOption1 = CLabel() + self.mOption1.set_center((100, 100)) + self.mOption1.set_size((100, 30)) + self.mOption1.set_text('Option 1') + + self.mOption2 = CLabel() + self.mOption2.set_center((100, 140)) + self.mOption2.set_size((100, 30)) + self.mOption2.set_text('Option 2') + + + + CGame().addChild(self.mOption1) + CGame().addChild(self.mOption2) + + def update(self): #print "menu update" CGameState.update(self) @@ -219,12 +250,16 @@ class CArea1Game1(CGameState): CGame().removeChild(self.mArea1) CGame().removeChild(self.mArea2) CGame().removeChild(self.mPiece1) + CGame().removeChild(self.mOption1) + CGame().removeChild(self.mOption2) #self.mButtonPlay.destroy() self.mButtonBack = None self.mBackground = None self.mArea1 = None self.mArea2 = None self.mPiece1 = None + self.mOption1 = None + self.mOption2 = None print "CArea1Game1 destroy" def doEvents(self, aEvent): |