diff options
author | Alan Aguiar <alanjas@hotmail.com> | 2012-03-05 03:19:54 (GMT) |
---|---|---|
committer | Alan Aguiar <alanjas@hotmail.com> | 2012-03-05 03:19:54 (GMT) |
commit | 1e7363700728c530d0e48b962cf82faf94204545 (patch) | |
tree | 12d364e8ce58567ff0f0f3457a1d990f8d84fba1 | |
parent | b1c7e612e65cc482cda97453b1498106a023337e (diff) |
make some changes in api files
-rwxr-xr-x | src/api/Button.py | 15 | ||||
-rwxr-xr-x | src/api/Game.py | 22 | ||||
-rwxr-xr-x | src/api/Math.py | 6 | ||||
-rwxr-xr-x | src/api/Mouse.py | 8 | ||||
-rwxr-xr-x | src/api/Sprite.py | 29 | ||||
-rwxr-xr-x | src/api/Vector.py | 12 |
6 files changed, 58 insertions, 34 deletions
diff --git a/src/api/Button.py b/src/api/Button.py index 65fa133..b6c0efc 100755 --- a/src/api/Button.py +++ b/src/api/Button.py @@ -2,6 +2,9 @@ import pygame import api.Label
from api.Label import CLabel
+import Mouse
+
+
class CButton(CLabel):
""" a button based on the label
same properties as label +
@@ -16,6 +19,9 @@ class CButton(CLabel): self.active = False
self.clicked = False
self.bgColor = (0xCC, 0xCC, 0xCC)
+
+ def setCenter(self, aCenter):
+ self.center = aCenter
def update(self):
CLabel.update(self)
@@ -25,13 +31,14 @@ class CButton(CLabel): #TODO: Make a CMouse class and check for isPressed() and click().
#check for mouse input
- if pygame.mouse.get_pressed() == (1, 0, 0):
- if self.rect.collidepoint(pygame.mouse.get_pos()):
+
+ 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 pygame.mouse.get_pressed() == (0, 0, 0):
+ if Mouse.get_pressed() == (0, 0, 0):
self.active = False
- if self.rect.collidepoint(pygame.mouse.get_pos()):
+ if self.rect.collidepoint(Mouse.get_position()):
self.clicked = True
diff --git a/src/api/Game.py b/src/api/Game.py index d5ff8da..12f7b20 100755 --- a/src/api/Game.py +++ b/src/api/Game.py @@ -69,10 +69,10 @@ class CGame(object): #self.mBackground = CImage.loadImage("assets/images/back_menu.png", False)
- self.mSampleSprite = CSuperSprite(self)
- self.mSampleSprite.setSpeed(3)
- self.mSampleSprite.setAngle(0)
- self.mSampleSprite.boundAction = self.mSampleSprite.WRAP
+ #self.mSampleSprite = CSuperSprite(self)
+ #self.mSampleSprite.setSpeed(3)
+ #self.mSampleSprite.setAngle(0)
+ #self.mSampleSprite.boundAction = self.mSampleSprite.WRAP
self.mAllSprites = pygame.sprite.Group()
@@ -83,19 +83,19 @@ class CGame(object): #self.mMainSprites = pygame.sprite.OrderedUpdates(self.mSprites)
#self.mGroups.append(self.mMainSprites)
- self.mS2 = CSprite()
+ #self.mS2 = CSprite()
#self.mS2.setDX(10)
- self.mS2.velX = 30
- self.mS2.velY = 0
- self.mS2.accelY = 1
- self.mS2.maxSpeed = 200
+ #self.mS2.velX = 30
+ #self.mS2.velY = 0
+ #self.mS2.accelY = 1
+ #self.mS2.maxSpeed = 200
self.mScreen.blit(self.mBackground, (0, 0))
self.mClock = pygame.time.Clock()
self.mQuit = False
- self.mAllSprites.add(self.mSampleSprite)
- self.mAllSprites.add(self.mS2)
+ #self.mAllSprites.add(self.mSampleSprite)
+ #self.mAllSprites.add(self.mS2)
def gameLoop(self):
diff --git a/src/api/Math.py b/src/api/Math.py index b514234..e8b4845 100755 --- a/src/api/Math.py +++ b/src/api/Math.py @@ -40,4 +40,8 @@ def radToDeg(aAngle): # Returns: The angle in radians.
#-------------------------------------------------------------------------------
def degToRad(aAngle):
- return aAngle * math.pi / 180
\ No newline at end of file + return aAngle * math.pi / 180
+
+
+def dist(ax1, ay1, ax2, ay2):
+ return math.sqrt((ax2-ax1)**2 + (ay2-ay1)**2)
\ No newline at end of file diff --git a/src/api/Mouse.py b/src/api/Mouse.py index 7cfd40b..54f3b3b 100755 --- a/src/api/Mouse.py +++ b/src/api/Mouse.py @@ -2,7 +2,9 @@ import pygame -class CMouse(): - def get_position(self): - return pygame.mouse.get_pos()
\ No newline at end of file +def get_position(): + return pygame.mouse.get_pos() + +def get_pressed(): + return pygame.mouse.get_pressed()
\ No newline at end of file diff --git a/src/api/Sprite.py b/src/api/Sprite.py index 8c73b37..3882e84 100755 --- a/src/api/Sprite.py +++ b/src/api/Sprite.py @@ -65,8 +65,8 @@ class CSprite(pygame.sprite.Sprite): # Set the position of the image.
# oldCenter is used to draw the trace in drawTrace().
# oldCenter is the position of the sprite in the previous frame.
- self.oldCenter = (self.mPos.x, self.mPos.y)
- self.rect.center = (self.mPos.x, self.mPos.y)
+ self.oldCenter = (self.mPos.getX(), self.mPos.getY())
+ self.rect.center = (self.mPos.getX(), self.mPos.getY())
# Angle of rotation in degrees used for movement calculations.
self.mAngle = 0
@@ -78,9 +78,10 @@ class CSprite(pygame.sprite.Sprite): self.currentState = "default"
def setXY(self, aX, aY):
- self.mPos.x = aX
- self.mPos.y = aY
- self.rect.center = (self.mPos.x, self.mPos.y)
+ #print 'alan', dir(self.mPos)
+ self.mPos.setX(aX)
+ self.mPos.setY(aY)
+ self.rect.center = (self.mPos.getX(), self.mPos.getY())
def setVelXY(self, aVelX, aVelY):
self.mVel.setXY(aVelX, aVelY)
@@ -100,17 +101,18 @@ class CSprite(pygame.sprite.Sprite): # Rotate the image according to the angle of the sprite.
self.__rotateSpriteImage()
self.checkBounds()
- self.rect.center = (self.mPos.x, self.mPos.y)
+
+ self.rect.center = (self.mPos.getX(), self.mPos.getY())
# TODO: Test this. Need to pass a reference to background to draw.
# self.drawTrace((255,0,0))
self.mVel.add(self.mAccel)
#self.mVel.truncate(self.maxSpeed)
- if (self.mVel.x > self.maxSpeed):
- self.mVel.x = self.maxSpeed
- if (self.mVel.y > self.maxSpeed):
- self.mVel.y = self.maxSpeed
+ if (self.mVel.getX() > self.maxSpeed):
+ self.mVel.setX(self.maxSpeed)
+ if (self.mVel.getY() > self.maxSpeed):
+ self.mVel.setY(self.maxSpeed)
self.mPos.add(self.mVel)
@@ -143,8 +145,8 @@ class CSprite(pygame.sprite.Sprite): self.dy = math.sin(theta) * self.mSpeed
self.dy *= -1
- self.mPos.x += self.dx
- self.mPos.y += self.dy
+ self.mPos.setX(self.mPos.getX() + self.dx)
+ self.mPos.setY(self.mPos.getY() + self.dy)
#---------------------------------------------------------------------------
# __rotateSpriteImage().
@@ -276,7 +278,8 @@ class CSprite(pygame.sprite.Sprite): """ place the sprite directly at the given position
expects an (x, y) tuple
"""
- (self.mPos.x, self.mPos.y) = position
+ self.mPos.setX(position.getX())
+ self.mPos.setY(position.getY())
def moveBy (self, vector):
""" move the sprite by the (dx, dy) values in vector
diff --git a/src/api/Vector.py b/src/api/Vector.py index bae033c..bbe6580 100755 --- a/src/api/Vector.py +++ b/src/api/Vector.py @@ -5,8 +5,8 @@ EPSILON = 0.000001 class CVector(object):
- x = 0.0
- y = 0.0
+ #x = 0.0
+ #y = 0.0
def __init__(self, aX = 0.0, aY = 0.0):
self.x = aX
@@ -24,6 +24,14 @@ class CVector(object): # Sets the y value of the vector.
def setY(self, aY):
self.y = aY
+
+ # Gets the x value of the vector
+ def getX(self):
+ return self.x
+
+ # Gets the y value of the vector
+ def getY(self):
+ return self.y
def setVec(self, aVec):
self.x = aVec.x;
|