|
From: <vin...@us...> - 2011-07-20 00:05:17
|
Revision: 18
http://pacemaker.svn.sourceforge.net/pacemaker/?rev=18&view=rev
Author: vincentniakos
Date: 2011-07-20 00:05:11 +0000 (Wed, 20 Jul 2011)
Log Message:
-----------
Correctif sur le flickering quand on reste appuyer sur le click droit pour afficher le menu et qu'on choisit une action avec le bouton gauche.
Par ailleurs maintenant une fois que l'action est choisit avec le bouton gauche on referme le menu plutot que de le laisser ouvert
Modified Paths:
--------------
PACEmaker/src/Set.py
PACEmaker/src/apprentissage1.py
PACEmaker/src/menuBarParser.py
PACEmaker/src/menuParser.py
Added Paths:
-----------
PACEmaker/src/charactersParser.py
PACEmaker/src/setup.py
Property Changed:
----------------
PACEmaker/src/
Property changes on: PACEmaker/src
___________________________________________________________________
Added: svn:ignore
+ SetParser.py.r17
Modified: PACEmaker/src/Set.py
===================================================================
--- PACEmaker/src/Set.py 2010-06-19 21:21:52 UTC (rev 17)
+++ PACEmaker/src/Set.py 2011-07-20 00:05:11 UTC (rev 18)
@@ -20,7 +20,9 @@
self.description = None
self.entryZones = {}
self.exitZones = {}
+ self.zones = {}
+
def addAsset(self, nodeAsset):
if nodeAsset.nodeType == nodeAsset.ELEMENT_NODE :
asset = Asset()
@@ -28,7 +30,7 @@
asset.depth = self.getText(nodeAsset.getAttributeNode("depth"))
asset.file = self.getText(nodeAsset.getAttributeNode("file"))
except:
- print 'Un des TAGS suivant est manquant : depth, file'
+ print ('Un des TAGS suivant est manquant : depth, file')
self.assets.append(asset)
def getText(self, node):
@@ -40,20 +42,4 @@
response = "Name: " + self.name
response += "\nDescription: " + self.description
-
-# response.append("Entry Zones: ")
-# response.append(self.entry_zones.to_string())
-#
-# response.append("Entry Zones: ")
-# reponse.append(self.entry_zones.to_string())
-#
-# response.append("Exit Zones: ")
-# reponse.append(self.exit_zones.to_string())
-#
-# response.append("Zones: ")
-# response.append(self.zones.to_string())
-#
-# response.append("Assets: ")
-# response.append(self.assets.to_string())
-
- return response
+ return response
\ No newline at end of file
Modified: PACEmaker/src/apprentissage1.py
===================================================================
--- PACEmaker/src/apprentissage1.py 2010-06-19 21:21:52 UTC (rev 17)
+++ PACEmaker/src/apprentissage1.py 2011-07-20 00:05:11 UTC (rev 18)
@@ -9,10 +9,10 @@
from pygame.locals import *
__author__ = "Vincent"
-__date__ = "$1 f\xE8vr. 2010 21:52:29$"
+__date__ = "$1 fevr. 2010 21:52:29$"
if __name__ == "__main__":
- print "Hello World"
+ print ("Hello World")
colorkey = None
menuGame = None
icones = []
@@ -23,20 +23,20 @@
persoPath = imagePath+"PersoTest.png"
"""
- #creation de l'instance du menu en passant le fichier xml \xE0 charger
+ #creation de l'instance du menu en passant le fichier xml a charger
menuGame = Menu('../exemples/actionMenu.xml')
menuBar = MenuBar('../exemples/menuBar.xml')
lstSets = SetParser('../exemples/set.xml')
# Affiche dans la console le fichier courant avec son chemin absolu
- print __file__
+ print (__file__)
#chargement de la scene
try:
background = pygame.image.load(lstSets.__sets__[lstSets.activeSet].assets[0].file)
- except pygame.error, message:
- print "impossible d'ouvrir l'image"
- raise SystemExit, message
+ except (pygame.error, message):
+ print ("impossible d'ouvrir l'image")
+ raise (SystemExit, message)
backgroundRect = background.get_rect()
size = (width, height) = background.get_size()
screen = pygame.display.set_mode(size)
@@ -67,11 +67,11 @@
clock = pygame.time.Clock()
running = 1
- # sizeIcone repr\xE9sente et l'\xE9chelle de distance qui permettra d'agrandir le cercle
+ # sizeIcone represente et l'echelle de distance qui permettra d'agrandir le cercle
sizeIcone = 1.5*menuGame.lstSousMenus[0].iconeMenu.get_width()
- # isClick : permet de soit si on bouton est maintenu enfonc\xE9
+ # isClick : permet de soit si on bouton est maintenu enfonce
isClick = 0
- # imageActive permet de savoir si un sous menu doit \xEAtre affich\xE9 dans son \xE9tat actif ou non (quand le curseur est dessus)
+ # imageActive permet de savoir si un sous menu doit etre affiche dans son etat actif ou non (quand le curseur est dessus)
# Sa valeur contient l'indice de la liste de sous menu, ou -1 si aucun sous menus n'a le curseur par dessus
imageActive = -1
actionToDo = "aller"
@@ -87,18 +87,19 @@
if isMenuBarOpen== 1 :
for unMenu in menuBar.menuButtons :
screen.blit(unMenu.image, unMenu.imagePos)
- #si \xE9v\xE9nement est rencontr\xE9...
+ #si evenement est rencontre...
event = pygame.event.poll()
- if event.type == pygame.QUIT: #si on demande de quitter on arr\xEAte l'executiondu programme
+ if event.type == pygame.QUIT: #si on demande de quitter on arrete l'execution du programme
running = 0
elif event.type is KEYDOWN and event.key == 282 and isMenuBarOpen == 0 :
#menuBar.showMenu()
isMenuBarOpen = 1
elif event.type == pygame.MOUSEBUTTONDOWN :
- if event.button == 3: #si le bouton droit est enfonc\xE9 ...
- #on r\xE9cup\xE8re les coordonn\xE9ees de la souris
+ if event.button == 3 and isClick == 0 : #si le bouton droit est enfonce et que le menu n'attend pas d'etre ferme...
+ print ("evenement rencontre : bouton droit down")
+ #on recupere les coordonnees de la souris
pos = x, y = event.pos
- # On place les elements du menu de fa\xE7on circulaire
+ # On place les elements du menu de facon circulaire
for i in range(menuGame.nbElemMenu):
if i > 7 :
coef = 1+(i/7)
@@ -116,6 +117,14 @@
menuGame.lstSousMenus[i].imagePos = menuGame.lstSousMenus[i].imagePos.move(dx, dy)
#print "position x :" , posx , " position y : ", posy , "\n"
isClick = 1
+ elif event.button == 1 and isClick ==1 :
+ i = 0
+ newPos = nx, ny = event.pos
+ for i in range(menuGame.nbElemMenu):
+ if i==imageActive :
+ screen.blit(menuGame.lstSousMenus[i].iconeActiveMenu, menuGame.lstSousMenus[i].imagePos)
+ else :
+ screen.blit(menuGame.lstSousMenus[i].iconeMenu, menuGame.lstSousMenus[i].imagePos)
elif event.type == pygame.MOUSEBUTTONUP :
if event.button == 3:
for i in range(menuGame.nbElemMenu):
@@ -142,6 +151,7 @@
if menuGame.lstSousMenus[i].imagePos.collidepoint(newPos):
#print "Action a effectuer : "+menuGame.lstSousMenus[i].action
actionToDo = menuGame.lstSousMenus[i].action
+ isClick = 0
break
i = i + 1
elif isMenuBarOpen == 1 and (ny > menuBar.menuButtons[0].imagePos.bottom or
@@ -158,9 +168,9 @@
lstSets.activeSet = lstSets.__sets__[activeSet].exitZones[zone]
try:
background = pygame.image.load(lstSets.__sets__[lstSets.activeSet].assets[0].file)
- except pygame.error, message:
- print "impossible d'ouvrir l'image"
- raise SystemExit, message
+ except (pygame.error, message):
+ print ("impossible d'ouvrir l'image")
+ raise (SystemExit, message)
break
elif isClick ==1 :
if event.type == pygame.MOUSEMOTION :
Added: PACEmaker/src/charactersParser.py
===================================================================
--- PACEmaker/src/charactersParser.py (rev 0)
+++ PACEmaker/src/charactersParser.py 2011-07-20 00:05:11 UTC (rev 18)
@@ -0,0 +1,44 @@
+#-*- coding: Utf-8 -*-
+# To change this template, choose Tools | Templates
+# and open the template in the editor.
+import xml.dom.minidom
+
+__author__="Vincent"
+__date__ ="$17 juin 2010 01:33:09$"
+
+class CharactersParser:
+ __currentNode__ = None
+ __characters__ = None
+
+ def __init__(self, xml_path):
+ self.readXml(xml_path)
+ self.__characters__ = {}
+ self.initCharacters()
+
+ #chargement du fichier xml contenant les personnages
+ def readXml(self, xml_path):
+ self.doc = xml.dom.minidom.parse(xml_path)
+
+ #recuperation du premier noeud (racine) du fichier xml
+ def getRootElement(self):
+ if self.__currentNode__ == None:
+ self.__currentNode__ = self.doc.documentElement
+ return self.__currentNode__
+
+
+ #initialisation de la listes des sets
+ def initCharacters(self):
+ if self.__characters__ != None:
+ return
+ for char in self.getRootElement().getElementsByTagName("character"):
+ if char.nodeType == char.ELEMENT_NODE:
+ c = Character()
+ try:
+ print "Test"
+ except Exception as inst:
+ print "Erreur :", inst
+ #self.__sets__.append(s)
+ return self.__characters__
+
+ def getText(self, node):
+ return node.childNodes[0].nodeValue
Modified: PACEmaker/src/menuBarParser.py
===================================================================
--- PACEmaker/src/menuBarParser.py 2010-06-19 21:21:52 UTC (rev 17)
+++ PACEmaker/src/menuBarParser.py 2011-07-20 00:05:11 UTC (rev 18)
@@ -31,7 +31,7 @@
def initMenuBar(self):
- #Si le menu est d\xE9j\xE0 charg\xE9 on ne relit pas le fichier xml
+ #Si le menu est déjà chargé on ne relit pas le fichier xml
if self.menuButtons != None:
return
self.menuButtons = []
@@ -47,7 +47,7 @@
m.imagePos.left = self.width
self.width += m.imagePos.width
except:
- print 'Un des TAGS suivant est manquant : action, image'
+ print ('Un des TAGS suivant est manquant : action, image')
self.menuButtons.append(m)
if len(self.menuButtons) >0:
Modified: PACEmaker/src/menuParser.py
===================================================================
--- PACEmaker/src/menuParser.py 2010-06-19 21:21:52 UTC (rev 17)
+++ PACEmaker/src/menuParser.py 2011-07-20 00:05:11 UTC (rev 18)
@@ -50,7 +50,7 @@
sm.iconeActiveMenu = pygame.image.load(self.getText(unSousMenu.getElementsByTagName("active")[0]))
sm.imagePos = sm.iconeMenu.get_rect();
except:
- print 'Un des TAGS suivant est manquents : action, icone, active'
+ print ('Un des TAGS suivant est manquents : action, icone, active')
self.lstSousMenus.append(sm)
Added: PACEmaker/src/setup.py
===================================================================
--- PACEmaker/src/setup.py (rev 0)
+++ PACEmaker/src/setup.py 2011-07-20 00:05:11 UTC (rev 18)
@@ -0,0 +1,27 @@
+__author__="Vincent"
+__date__ ="$12 déc. 2010 01:31:06$"
+
+from setuptools import setup,find_packages
+
+setup (
+ name = 'PACEmaker',
+ version = '0.1',
+ packages = find_packages(),
+
+ # Declare your packages' dependencies here, for eg:
+ install_requires=['foo>=3'],
+
+ # Fill in these to make your Egg ready for upload to
+ # PyPI
+ author = 'Vincent',
+ author_email = '',
+
+ summary = 'Just another Python package for the cheese shop',
+ url = '',
+ license = '',
+ long_description= 'Long description of the package',
+
+ # could also include long_description, download_url, classifiers, etc.
+
+
+)
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|