Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2012-03-05 03:21:34 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2012-03-05 03:21:34 (GMT)
commit78fc721bb19126d41ce08e82026687241dcbfcde (patch)
tree904faab25473c7edc8618447c51c2629b081b6cd
parentf4828279edd8ab5f295b484d09fc5c06bc11fbfc (diff)
some changes in area1game1
-rwxr-xr-xsrc/states/Area1Game1.py132
-rwxr-xr-xsrc/states/CreditsState.py4
-rwxr-xr-xsrc/states/MenuState.py6
3 files changed, 96 insertions, 46 deletions
diff --git a/src/states/Area1Game1.py b/src/states/Area1Game1.py
index a01016d..4f957cf 100755
--- a/src/states/Area1Game1.py
+++ b/src/states/Area1Game1.py
@@ -17,11 +17,16 @@ from api.Button import CButton
import api.Image as Image
+import api.Vector
+from api.Vector import CVector
+
import MenuState
from MenuState import *
-import api.Mouse
-from api.Mouse import CMouse
+import api.Mouse as Mouse
+
+import api.Math as Math
+
STATE_STALE = 0
STATE_DRAG = 1
@@ -33,8 +38,6 @@ STATE_OK = 4
class Piece(CSprite):
-
- #mState = STATE_NONE
mState = None
MIN_DISTANCE = 40
@@ -43,45 +46,73 @@ class Piece(CSprite):
TIME_ADJUST = 7.5
RADIUS_COLLISION = 10
+
+ mPos = CVector(0.0, 0.0)
+ mOrigin = CVector(0.0, 0.0)
+ mDest = CVector(0.0, 0.0)
+ center = (0.0, 0.0)
+ size = (0.0, 0.0)
+
+ active = False
+ clicked = False
-
- def init(self, aXOrigin, aYOrigin, aXDest, aYDest):
+ def init(self):
+ CButton.__init__(self)
+ self.setMaxVel(10, 10)
setState(STATE_STALE)
-
- self.mOrigin = CVector(aXOrigin, aYOrigin)
- self.mDest = VCector(aXDest, aYDest)
-
- setMaxVel(10, 10)
-
#image = ....
+ def set_origin(self, aOrigin):
+ self.mOrigin = aOrigin
+ self.mPos = aOrigin
+ self.setXY(aOrigin.getX(), aOrigin.getY())
+ def set_destine(self, aDestine):
+ self.mDestine = aDestine
def update(self):
-
- if (aState == STATE_STALE):
+ CSprite.update(self)
+
+ self.clicked = False
+
+ #TODO: Make a CMouse class and check for isPressed() and click().
+
+ #check for mouse input
+ if Mouse.get_pressed() == (1, 0, 0):
+ if self.rect.collidepoint(Mouse.get_position()):
+ self.active = True
+ #check for mouse release
+ if self.active == True:
+ if Mouse.get_pressed() == (0, 0, 0):
+ self.active = False
+ if self.rect.collidepoint(Mouse.get_position()):
+ self.clicked = True
+ #print 'click'
+ self.setState(STATE_DRAG)
+
+ if (self.mState == STATE_STALE):
if self.mouseDown():
self.setState(STATE_DRAG)
return
- if (aState == STATE_DRAG):
- x, y = CMouse.get_position()
- pass
- if self.clicked():
- if (CMath.dist(x, y, mXDest, mYDest) < MIN_DISTANCE):
- self.setState(STATE_ADJUST)
- else:
- self.setState(STATE_RETURN)
+ if (self.mState == STATE_DRAG):
+ x, y = Mouse.get_position()
+ self.setXY(x, y)
+ if self.clicked:
+ if (Math.dist(x, y, self.mDest.getX(), self.mDest.getY()) < self.MIN_DISTANCE):
+ self.setState(STATE_ADJUST)
+ else:
+ self.setState(STATE_RETURN)
- if (aState == STATE_ADJUST):
- if (CMath.dist(x, y, mXDest, mYDest) < RADIUS_COLLISION):
+ if (self.mState == STATE_ADJUST):
+ if (Math.dist(x, y, self.mDest.getX(), self.mDest.getY()) < self.RADIUS_COLLISION):
self.setState(STATE_OK)
- if (aState == STATE_RETURN):
- if (CMath.dist(x, y, mXOrigin, mYOrigin) < RADIUS_COLLISION):
+ if (self.mState == STATE_RETURN):
+ if (Math.dist(x, y, self.mOrigin.getX(), self.mOrigin.getY()) < self.RADIUS_COLLISION):
#play(Sonido mal)
self.setState(STATE_STALE)
- if (aState == STATE_OK):
+ if (self.mState == STATE_OK):
return
@@ -97,19 +128,17 @@ class Piece(CSprite):
def setState(self, aState):
if (aState == STATE_STALE):
- x = mXOrigin
- y = mYOrigin
- velX = 0
- velY = 0
+ self.setPosition(self.mOrigin)
+ #self.setXY(100, 200)
+ self.mVel = CVector(0.0, 0.0)
if (aState == STATE_DRAG):
- velX = 0
- velY = 0
+ self.mVel = CVector(0.0, 0.0)
if (aState == STATE_ADJUST):
- velX = (mXDest - x) / TIME_ADJUST
- velY = (mXDest - y) / TIME_ADJUST
+ self.setVelXY((self.mDest.getX() - self.mPos.getX()) / self.TIME_ADJUST,
+ (self.mDest.getY() - self.mPos.getY()) / self.TIME_ADJUST)
if (aState == STATE_RETURN):
- velX = (mXOrigin - x) / TIME_RETURN
- velY = (mXOrigin - y) / TIME_RETURN
+ self.setVelXY((self.mDest.getX() - self.mPos.getX()) / self.TIME_ADJUST,
+ (self.mDest.getY() - self.mPos.getY()) / self.TIME_ADJUST)
if (aState == STATE_OK):
x = mXDest
y = mYDest
@@ -118,7 +147,7 @@ class Piece(CSprite):
#play(Sonido OK)
- mState = aState
+ self.mState = aState
def getState(self):
return mState
@@ -146,7 +175,7 @@ class CArea1Game1(CGameState):
#TODO: Create a function to create image.
self.mButtonBack.bgColor = (0x99, 0x99, 0x66)
self.mButtonBack.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
- self.mButtonBack.center = (110, 420)
+ self.mButtonBack.setCenter((110, 420))
self.mButtonBack.size = (200, 40)
self.mButtonBack.text = "Volver"
CGame().addChild(self.mButtonBack)
@@ -157,8 +186,23 @@ class CArea1Game1(CGameState):
# load the zone 1 and 2 for the objects
self.mArea1 = CSprite()
self.mArea1.setImage('assets/images/area1.png', False)
+ self.mArea1.setXY(400, 200)
+ self.mArea1.center = (400, 200)
CGame().addChild(self.mArea1)
+ self.mArea2 = CSprite()
+ self.mArea2.setImage('assets/images/area2.png', False)
+ self.mArea2.setXY(700, 200)
+ CGame().addChild(self.mArea2)
+
+ self.mPiece1 = Piece()
+ 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))
+ #self.mPiece1.setXY(700, 200)
+
+ CGame().addChild(self.mPiece1)
+
def update(self):
#print "menu update"
CGameState.update(self)
@@ -177,11 +221,17 @@ class CArea1Game1(CGameState):
CGameState.destroy(self)
#self.mInstructions.destroy()
self.mInstructions = None
- CGame().removeChild(self.mButtonPlay)
+ CGame().removeChild(self.mButtonBack)
+ CGame().removeChild(self.mArea1)
+ CGame().removeChild(self.mArea2)
+ CGame().removeChild(self.mPiece1)
#self.mButtonPlay.destroy()
self.mButtonBack = None
self.mBackground = None
- print "CMenuState destroy"
+ self.mArea1 = None
+ self.mArea2 = None
+ self.mPiece1 = None
+ print "CArea1Game1 destroy"
def doEvents(self, aEvent):
print aEvent.type
diff --git a/src/states/CreditsState.py b/src/states/CreditsState.py
index 4382fa5..994d259 100755
--- a/src/states/CreditsState.py
+++ b/src/states/CreditsState.py
@@ -21,8 +21,8 @@ class CCreditsState(CGameState):
def init(self):
CGameState.init(self)
- self.mInstructions = CMultiLabel()
- CGame().addChild(self.mInstructions)
+ #self.mInstructions = CMultiLabel()
+ #CGame().addChild(self.mInstructions)
#print self.mX
self.mButtonPlay = CButton()
diff --git a/src/states/MenuState.py b/src/states/MenuState.py
index 35074d5..829d441 100755
--- a/src/states/MenuState.py
+++ b/src/states/MenuState.py
@@ -29,8 +29,8 @@ class CMenuState(CGameState):
def init(self):
CGameState.init(self)
- self.mInstructions = CMultiLabel()
- CGame().addChild(self.mInstructions)
+ #self.mInstructions = CMultiLabel()
+ #CGame().addChild(self.mInstructions)
#print self.mX
self.mButtonPlay = CButton()
@@ -39,7 +39,7 @@ class CMenuState(CGameState):
self.mButtonPlay.font = pygame.font.Font('assets/fonts/fipps.ttf', 20)
self.mButtonPlay.center = (110, 420)
self.mButtonPlay.size = (200, 40)
- self.mButtonPlay.text = "JUGAR"
+ self.mButtonPlay.text = "A1 - Juego 1"
CGame().addChild(self.mButtonPlay)
self.mBackground = Image.loadImage('assets/images/back_menu.png', False)