From: <ch...@us...> - 2009-03-23 14:09:30
|
Revision: 287 http://virtplayground.svn.sourceforge.net/virtplayground/?rev=287&view=rev Author: chozone Date: 2009-03-23 14:08:58 +0000 (Mon, 23 Mar 2009) Log Message: ----------- Z position added in all avatars (i think). You can now also run (hold ctrl) Modified Paths: -------------- branches/VP-Grounds/modules/playground/avatar-multidir.py branches/VP-Grounds/modules/playground/avatar-multidir_parts.py branches/VP-Grounds/modules/playground/avatar-multipart.py branches/VP-Grounds/modules/playground/avatar-static.py branches/VP-Grounds/modules/playground.py Modified: branches/VP-Grounds/modules/playground/avatar-multidir.py =================================================================== --- branches/VP-Grounds/modules/playground/avatar-multidir.py 2009-03-08 11:15:18 UTC (rev 286) +++ branches/VP-Grounds/modules/playground/avatar-multidir.py 2009-03-23 14:08:58 UTC (rev 287) @@ -10,7 +10,7 @@ self.image=None self.fullImage=None - self.rect = Rect(data['Pos'][1], data['Pos'][2], 0, 0) + self.rect = Rect(data['Pos'][1], data['Pos'][2]-data['Pos'][3], 0, 0) self.zorder = self.rect.top + self.rect.height self.blitRect = Rect(0,0,0,0) #Internal rect, inside fullImage @@ -66,7 +66,7 @@ elif self.rect.y > pos[2]: self.setDir('u') self.rect.x=pos[1] - self.rect.y=pos[2] + self.rect.y=pos[2]-pos[3] self.zorder = self.rect.top + self.rect.height updateRect=oldRect.union(self.rect) Modified: branches/VP-Grounds/modules/playground/avatar-multidir_parts.py =================================================================== --- branches/VP-Grounds/modules/playground/avatar-multidir_parts.py 2009-03-08 11:15:18 UTC (rev 286) +++ branches/VP-Grounds/modules/playground/avatar-multidir_parts.py 2009-03-23 14:08:58 UTC (rev 287) @@ -8,7 +8,7 @@ self.imageList=data['Avatar'][1:] self.imageNameList=data['Avatar'][1:] - self.rect = Rect(data['Pos'][1], data['Pos'][2], 0, 0) + self.rect = Rect(data['Pos'][1], data['Pos'][2]-data['Pos'][3], 0, 0) self.zorder = self.rect.top + self.rect.height def show(self): @@ -63,7 +63,7 @@ elif self.rect.y > pos[2]: self.setDir('u') self.rect.x=pos[1] - self.rect.y=pos[2] + self.rect.y=pos[2]-pos[3] self.zorder = self.rect.top + self.rect.height updateRect=oldRect.union(self.rect) Modified: branches/VP-Grounds/modules/playground/avatar-multipart.py =================================================================== --- branches/VP-Grounds/modules/playground/avatar-multipart.py 2009-03-08 11:15:18 UTC (rev 286) +++ branches/VP-Grounds/modules/playground/avatar-multipart.py 2009-03-23 14:08:58 UTC (rev 287) @@ -6,7 +6,7 @@ self.imageList=data['Avatar'][1:] self.imageNameList=data['Avatar'][1:] - self.rect = Rect(data['Pos'][1], data['Pos'][2], 0, 0) + self.rect = Rect(data['Pos'][1], data['Pos'][2]-data['Pos'][3], 0, 0) self.zorder = self.rect.top + self.rect.height def show(self): @@ -54,7 +54,7 @@ oldRect=self.rect.__copy__() self.rect.x=pos[1] - self.rect.y=pos[2] + self.rect.y=pos[2]-pos[3] self.zorder = self.rect.top + self.rect.height updateRect=oldRect.union(self.rect) Modified: branches/VP-Grounds/modules/playground/avatar-static.py =================================================================== --- branches/VP-Grounds/modules/playground/avatar-static.py 2009-03-08 11:15:18 UTC (rev 286) +++ branches/VP-Grounds/modules/playground/avatar-static.py 2009-03-23 14:08:58 UTC (rev 287) @@ -5,7 +5,7 @@ self.sh = share self.imageName=data['Avatar'][1] - self.rect = Rect(data['Pos'][1], data['Pos'][2], 0, 0) + self.rect = Rect(data['Pos'][1], data['Pos'][2]-data['Pos'][3], 0, 0) self.zorder = self.rect.top + self.rect.height def show(self): @@ -44,7 +44,7 @@ oldRect=self.rect.__copy__() self.rect.x=pos[1] - self.rect.y=pos[2] + self.rect.y=pos[2]-pos[3] self.zorder = self.rect.top + self.rect.height updateRect=oldRect.union(self.rect) Modified: branches/VP-Grounds/modules/playground.py =================================================================== --- branches/VP-Grounds/modules/playground.py 2009-03-08 11:15:18 UTC (rev 286) +++ branches/VP-Grounds/modules/playground.py 2009-03-23 14:08:58 UTC (rev 287) @@ -24,6 +24,7 @@ self.timer = None self.walkingStep=10 #Size(px) of each step. + self.runningStep=20 #Size(px) of each step while running. #Loading all our objects-modules (kinda like interface.py) @@ -62,26 +63,42 @@ if self.dontUpdate == False: #TODO: when you move diagonally, your speed should be a bit less, around 7 (this is sqrt(50)... for other walking speeds: walkingStep=sqrt(x^2+x^2) ) + dir=-1 + tempStep=self.runningStep if ev.mod & KMOD_CTRL else self.walkingStep if ev.key == K_UP: - self.walking(0, +self.walkingStep, True) + dir=0 elif ev.key == K_LEFT: - self.walking(1, +self.walkingStep, True) + dir=1 elif ev.key == K_DOWN: - self.walking(2, +self.walkingStep, True) + dir=2 elif ev.key == K_RIGHT: - self.walking(3, +self.walkingStep, True) + dir=3 + elif ev.key == K_RCTRL or ev.key == K_LCTRL: + for d, s in enumerate(self.walkingDir): + if s: self.walking(d, self.runningStep-s, True, True) + + + if dir != -1: + self.walking(dir, tempStep, True) elif ev.type == KEYUP: if self.dontUpdate == False: + dir=-1 if ev.key == K_UP: - self.walking(0, -self.walkingStep, False) + dir=0 elif ev.key == K_LEFT: - self.walking(1, -self.walkingStep, False) + dir=1 elif ev.key == K_DOWN: - self.walking(2, -self.walkingStep, False) + dir=2 elif ev.key == K_RIGHT: - self.walking(3, -self.walkingStep, False) + dir=3 + elif ev.key == K_RCTRL or ev.key == K_LCTRL: + for d, s in enumerate(self.walkingDir): + if s: self.walking(d, -self.runningStep+self.walkingStep, False, True) + if dir != -1: + self.walking(dir, -self.walkingDir[dir], False) + def call(self, *arg): @@ -217,16 +234,16 @@ return [item[1] for item in sortList] - def walking(self, direction, speed, keyDown): + def walking(self, direction, speed, keyDown, ctrl=False): #Repeating key prevention. #Check if keyDown was already send to this direction if keyDown == True: - if self.walkingDir[direction] == False: - self.walkingDir[direction] = True + if not self.walkingDir[direction] or ctrl: + self.walkingDir[direction] += speed self.sh['Brains'].walking(direction, speed) else: - if self.walkingDir[direction] == True: - self.walkingDir[direction] = False + if self.walkingDir[direction] or ctrl: + self.walkingDir[direction] += speed self.sh['Brains'].walking(direction, speed) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |