diff options
author | Alan Aguiar <alanjas@hotmail.com> | 2013-08-14 02:03:47 (GMT) |
---|---|---|
committer | Alan Aguiar <alanjas@hotmail.com> | 2013-08-14 02:03:47 (GMT) |
commit | 10e7e4b5fef943d605b254cb0860b505c4f82083 (patch) | |
tree | 34341530f4313a48514bf86ea3241cd3495fe132 | |
parent | 5774b53c9c7d485e4efaac291abbd3e2e99644ce (diff) |
add over help on a1g6
-rw-r--r-- | .settings/org.eclipse.core.resources.prefs | 2 | ||||
-rw-r--r-- | src/assets/data/area1game6_data.py | 14 | ||||
-rw-r--r-- | src/game/Area1Game6.py | 81 |
3 files changed, 61 insertions, 36 deletions
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index d7659e1..6982d44 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -10,8 +10,10 @@ encoding//src/api/MultiLabel.py=utf-8 encoding//src/api/Sprite.py=utf-8 encoding//src/api/Vector.py=utf-8 encoding//src/assets/data/area1game3_data.py=utf-8 +encoding//src/assets/data/area1game6_data.py=utf-8 encoding//src/game/Area1Game1.py=utf-8 encoding//src/game/Area1Game3.py=utf-8 +encoding//src/game/Area1Game4.py=utf-8 encoding//src/game/Area1Game6.py=utf-8 encoding//src/game/Area1Game7.py=utf-8 encoding//src/game/Area2Game2.py=utf-8 diff --git a/src/assets/data/area1game6_data.py b/src/assets/data/area1game6_data.py index adbbd7d..35c808e 100644 --- a/src/assets/data/area1game6_data.py +++ b/src/assets/data/area1game6_data.py @@ -5,11 +5,11 @@ from gettext import gettext as _ HELP = { - 1: _('pérdida de sangre\npor la vagina , que ocurre\naproximadamente cada 28 dias'), - 2: _('primer menstruación\nen las mujeres, sucede entre los 10 y 17 años'), - 3: _('primera eyaculación\nexpulsión de semen que se produce durante el sueño'), - 4: _('célula con cola\ngameto masculino, que produce el testículo'), - 5: _('célula\ngameto femenino, que produce el ovario'), - 6: _('proceso de 9 meses\ngestación de un nuevo ser humano'), - 7: _('órgano\ndel aparato reproductor femenino'), + 0: _('primer menstruación\nen las mujeres, sucede entre los 10 y 17 años'), + 1: _('primera eyaculación\nexpulsión de semen que se produce durante el sueño'), + 2: _('célula con cola\ngameto masculino, que produce el testículo'), + 3: _('célula\ngameto femenino, que produce el ovario'), + 4: _('proceso de 9 meses\ngestación de un nuevo ser humano'), + 5: _('órgano\ndel aparato reproductor femenino'), + 6: _('pérdida de sangre\npor la vagina, que ocurre\naproximadamente cada 28 dias') }
\ No newline at end of file diff --git a/src/game/Area1Game6.py b/src/game/Area1Game6.py index 448c738..760d1b2 100644 --- a/src/game/Area1Game6.py +++ b/src/game/Area1Game6.py @@ -8,7 +8,7 @@ from api.Button import CButton from api.Points import CPoints from api.MultiLabel import CMultiLabel from api.Mouse import * -import api.Math as Math +import api.Math as CMath import api.Image as Image from api.Vector import CVector from api.Game import CGame @@ -32,6 +32,18 @@ DY = 0 import imp +WORD1 = [(400, 0), (800, 0), (400, 50), (800, 50)] +WORD2a = [(150, 100), (350, 100), (150, 150), (350, 150)] +WORD2b = [(400, 100), (600, 100), (400, 150), (600, 150)] +WORD3a = [(0, 200), (350, 200), (0, 250), (350, 250)] +WORD3b = [(400, 200), (800, 200), (400, 250), (800, 250)] +WORD4a = [(250, 300), (350, 300), (250, 350), (350, 350)] +WORD4b = [(400, 300), (500, 300), (400, 350), (500, 350)] +WORD5a = [(200, 350), (350, 350), (200, 400), (350, 400)] +WORD5b = [(400, 350), (600, 350), (400, 400), (600, 400)] +WORD6 = [(150, 500), (350, 500), (150, 550), (350, 550)] +WORD7 = [(350, 0), (400, 0), (350, 600), (400, 600)] + #Piece class hereda de CSprite class Piece(CSprite): @@ -70,7 +82,7 @@ class Piece(CSprite): x, y = CMouse().getPos() self.setXY(x, y) if self.clicked(): - d = Math.dist(self.mPos.getX() , self.mPos.getY(), self.mDest.getX(), self.mDest.getY()) + d = CMath.dist(self.mPos.getX() , self.mPos.getY(), self.mDest.getX(), self.mDest.getY()) if (d < self.MIN_DISTANCE): self.setState(STATE_ADJUST) @@ -81,7 +93,7 @@ class Piece(CSprite): elif (self.mState == STATE_ADJUST): - if (Math.dist(self.mPos.getX() , self.mPos.getY(), self.mDest.getX(), self.mDest.getY()) < self.RADIUS_COLLISION): + if (CMath.dist(self.mPos.getX() , self.mPos.getY(), self.mDest.getX(), self.mDest.getY()) < self.RADIUS_COLLISION): @@ -91,7 +103,7 @@ class Piece(CSprite): elif (self.mState == STATE_RETURN): - dist = Math.dist(self.mPos.getX() , self.mPos.getY(), self.mOrigin.getX(), self.mOrigin.getY()) + dist = CMath.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) @@ -127,7 +139,7 @@ class Piece(CSprite): vec = CVector(self.mOrigin.getX() - self.mPos.getX(), self.mOrigin.getY() - self.mPos.getY()) vec.normalize() - dist = Math.dist(self.mOrigin.getX(), self.mOrigin.getY(), self.mPos.getX(), self.mPos.getY()) + dist = CMath.dist(self.mOrigin.getX(), self.mOrigin.getY(), self.mPos.getX(), self.mPos.getY()) vec.mul(dist/self.TIME_ADJUST) self.setVelXY(vec.getX(), vec.getY()) @@ -290,21 +302,18 @@ class CArea1Game6(CGameState): self.loadInfo() self.list_temp = self.dic_help.keys() - + self.mListHelps = [] # Label with the Help (for mouseover) - self.mHelp01 = CMultiLabel() - self.mHelp01.bgColor = (0x99, 0x99, 0x66) - self.mHelp01.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20) - self.mHelp01.set_center((914, 188)) - self.mHelp01.set_size((350, 280)) - self.mHelp01.set_text(self.dic_help[1]) - - self.mHelp02 = CMultiLabel() - self.mHelp02.bgColor = (0x99, 0x99, 0x66) - self.mHelp02.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20) - self.mHelp02.set_center((914, 188)) - self.mHelp02.set_size((350, 280)) - self.mHelp02.set_text(self.dic_help[2]) + for i in range(7): + l = CMultiLabel() + l.bgColor = (0x99, 0x99, 0x66) + l.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 20) + l.set_center((914, 188)) + l.set_size((350, 280)) + l.set_text(self.dic_help[i]) + self.mListHelps.append(l) + + #CGame().addChild(self.mHelp01) @@ -323,20 +332,34 @@ class CArea1Game6(CGameState): ms = MenuState.CMenuState() CGame().setState(ms) return - - """elif self.mWord01.mouseOver(): - self.mHelpActive = self.mHelp01 - - elif self.mWord02.mouseOver(): - self.mHelpActive = self.mHelp02""" - + + x = CMouse().getX() + y = CMouse().getY() + + if CMath.pointInsidePolygon(x,y, WORD1): + self.mHelpActive = 0 + elif CMath.pointInsidePolygon(x,y, WORD2a) or CMath.pointInsidePolygon(x,y, WORD2b): + self.mHelpActive = 1 + elif CMath.pointInsidePolygon(x,y, WORD3a) or CMath.pointInsidePolygon(x,y, WORD3b): + self.mHelpActive = 2 + elif CMath.pointInsidePolygon(x,y, WORD4a) or CMath.pointInsidePolygon(x,y, WORD4b): + self.mHelpActive = 3 + elif CMath.pointInsidePolygon(x,y, WORD5a) or CMath.pointInsidePolygon(x,y, WORD5b): + self.mHelpActive = 4 + elif CMath.pointInsidePolygon(x,y, WORD6): + self.mHelpActive = 5 + elif CMath.pointInsidePolygon(x,y, WORD7): + self.mHelpActive = 6 + else: + self.mHelpActive = None + # this optimize the repetitive remove/add the same sprite if not (self.mHelpPrevious == self.mHelpActive): # if previous not is none if self.mHelpPrevious: - CGame().removeChild(self.mHelpPrevious) - - CGame().addChild(self.mHelpActive) + CGame().removeChild(self.mListHelps[self.mHelpPrevious]) + if self.mHelpActive: + CGame().addChild(self.mListHelps[self.mHelpActive]) self.mHelpPrevious = self.mHelpActive |