diff options
author | Alan Aguiar <alanjas@hotmail.com> | 2012-03-05 03:46:25 (GMT) |
---|---|---|
committer | Alan Aguiar <alanjas@hotmail.com> | 2012-03-05 03:46:25 (GMT) |
commit | aa291d8c84f57e697814921fb41342b88d2038ba (patch) | |
tree | 9a2e963e9ca0d1b71f28f730dce3b32199cf00fc | |
parent | 78fc721bb19126d41ce08e82026687241dcbfcde (diff) |
works when drop on dest
-rwxr-xr-x | src/states/Area1Game1.py | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/states/Area1Game1.py b/src/states/Area1Game1.py index 4f957cf..0764240 100755 --- a/src/states/Area1Game1.py +++ b/src/states/Area1Game1.py @@ -67,7 +67,7 @@ class Piece(CSprite): self.setXY(aOrigin.getX(), aOrigin.getY()) def set_destine(self, aDestine): - self.mDestine = aDestine + self.mDest = aDestine def update(self): CSprite.update(self) @@ -98,18 +98,22 @@ class Piece(CSprite): 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): + d = Math.dist(self.mPos.getX() , self.mPos.getY(), self.mDest.getX(), self.mDest.getY()) + print 'drag-dist:', d + #print 'pos', self.mPos.getX() + #print 'dest', self.mDest.getX() + if (d < self.MIN_DISTANCE): self.setState(STATE_ADJUST) else: self.setState(STATE_RETURN) if (self.mState == STATE_ADJUST): - if (Math.dist(x, y, self.mDest.getX(), self.mDest.getY()) < self.RADIUS_COLLISION): + if (Math.dist(self.mPos.getX() , self.mPos.getY(), self.mDest.getX(), self.mDest.getY()) < self.RADIUS_COLLISION): self.setState(STATE_OK) if (self.mState == STATE_RETURN): - if (Math.dist(x, y, self.mOrigin.getX(), self.mOrigin.getY()) < self.RADIUS_COLLISION): + if (Math.dist(self.mPos.getX() , self.mPos.getY(), self.mOrigin.getX(), self.mOrigin.getY()) < self.RADIUS_COLLISION): #play(Sonido mal) self.setState(STATE_STALE) if (self.mState == STATE_OK): @@ -137,14 +141,12 @@ class Piece(CSprite): self.setVelXY((self.mDest.getX() - self.mPos.getX()) / self.TIME_ADJUST, (self.mDest.getY() - self.mPos.getY()) / self.TIME_ADJUST) if (aState == STATE_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 - xVel = 0 - yVel = 0 - #play(Sonido OK) + self.setVelXY((self.mOrigin.getX() - self.mPos.getX()) / self.TIME_ADJUST, + (self.mOrigin.getY() - self.mPos.getY()) / self.TIME_ADJUST) + if (aState == STATE_OK): + self.setPosition(self.mDest) + self.mVel = CVector(0.0, 0.0) + #play(Sonido OK) self.mState = aState |