Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1671 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  question sur les classes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

question sur les classes

n°1861543
dav74
Posté le 14-03-2009 à 18:32:29  profilanswer
 

Bonjour,
Je suis en train de bosser sur python et je viens de rencontrer un cas que j'ai du mal à comprendre :
Instance1=class1()
Instance2=Instance1.class2()
J'ai adapté le truc (en faite cela vient de panda 3D)
Ma question :
La 2ème ligne peut-elle vraiment exister, si oui elle sert à quoi (je ne comprends pas le "Instance1.class2()" )
Merci pour votre aide (en esperant que ma question est clair !)

mood
Publicité
Posté le 14-03-2009 à 18:32:29  profilanswer
 

n°1861675
dav74
Posté le 15-03-2009 à 08:20:30  profilanswer
 

Je précise un peu mon problème, en vous donnant l'original dans panda 3D

Code :
  1. #Load the panda actor, and loop its animation
  2. pandaActor = Actor.Actor("models/panda-model",{"walk":"models/panda-walk4"})
  3. pandaActor.setScale(0.005,0.005,0.005)
  4. pandaActor.reparentTo(render)
  5. pandaActor.loop("walk" )
  6. #Create the four lerp intervals needed to walk back and forth
  7. pandaPosInterval1= pandaActor.posInterval(13,Point3(0,-10,0), startPos=Point3(0,10,0))
  8. pandaPosInterval2= pandaActor.posInterval(13,Point3(0,10,0), startPos=Point3(0,-10,0))
  9. pandaHprInterval1= pandaActor.hprInterval(3,Point3(180,0,0), startHpr=Point3(0,0,0))
  10. pandaHprInterval2= pandaActor.hprInterval(3,Point3(0,0,0), startHpr=Point3(180,0,0))


Actor est une classe, donc pandaActor est une instance de cette classe (ligne 2)
Ce que je n'arrive pas à comprendre c'est le :
pandaPosInterval1= pandaActor.posInterval(........)
posInterval est aussi une classe, je ne comprends donc pas le : pandaActor.posInterval(........)
Pratiquement, cela ne me pose aucun problème, j'ai bien compris le truc, mais au niveau théorique (pyhton pur), je ne vois pas à quoi cela correspond.
Merci pour votre aide

n°1861728
KangOl
Profil : pointeur
Posté le 15-03-2009 à 12:43:27  profilanswer
 

regarde le code de panda...
 
Mais il y a beaucoup de chance que Actor.posInterval soit une méthode qui renvoi simplement une instance d'une classe nommé Interval...


---------------
Nos estans firs di nosse pitite patreye...
n°1861737
dav74
Posté le 15-03-2009 à 13:34:45  profilanswer
 

Merci pour ta réponse, mais dans la doc de panda3d (référence), posInterval est listé dans les classes et pas dans les méthodes ! D'où mon interogation !

n°1861748
KangOl
Profil : pointeur
Posté le 15-03-2009 à 14:43:39  profilanswer
 

PosInterval != posInterval
La case est importante.

 

J'ai jeté un œil rapide sur la doc de panda3d et je n'ai pas trouvé de méthode posInterval.
Est-ce que le code que tu as donné tourne avec la dernière version de panda ?


Message édité par KangOl le 15-03-2009 à 14:44:27

---------------
Nos estans firs di nosse pitite patreye...
n°1861752
dav74
Posté le 15-03-2009 à 14:56:01  profilanswer
 

Désolé pour la case, c'est bien PosInterval, et c'est bien documenté dans les classes (rien dans les fonctions et rien dans les méthodes) d'où mon interogation cela correspond à quoi : instance2=Instance1.class2(...) ?
PS : c'est la dernière version de panda3D (logiciel et doc)

Message cité 1 fois
Message édité par dav74 le 15-03-2009 à 14:56:47
n°1861793
masklinn
í dag viðrar vel til loftárása
Posté le 15-03-2009 à 17:38:02  profilanswer
 

dav74 a écrit :

Désolé pour la case, c'est bien PosInterval, et c'est bien documenté dans les classes (rien dans les fonctions et rien dans les méthodes) d'où mon interogation cela correspond à quoi : instance2=Instance1.class2(...) ?
PS : c'est la dernière version de panda3D (logiciel et doc)


Il n'y a pas de "instance2 = instance1.class2()", ça ne veut strictement rien dire. Il y a juste instance2 = instance1.method() [:spamafote]

 

et voilà le code de la methode Actor.posInterval (héritée de NodePath):

Code :
  1. def posInterval(self, *args, **kw):
  2.        from direct.interval import LerpInterval
  3.        return LerpInterval.LerpPosInterval(self, *args, **kw)


Message édité par masklinn le 15-03-2009 à 18:18:58

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1861839
dav74
Posté le 15-03-2009 à 19:22:57  profilanswer
 

Ok, cela me rassure que "instance2 = instance1.class2()" soit du grand n'importe quoi, mais il n'empêche que quand tu prends la doc de panda 3D la seule trace de  PosInterval est dans les classes, c'est cela que j'ai du mal à piger !!
En tout cas merci pour ta réponse qui m'a rassuré

n°1861840
masklinn
í dag viðrar vel til loftárása
Posté le 15-03-2009 à 19:24:03  profilanswer
 

dav74 a écrit :

Ok, cela me rassure que "instance2 = instance1.class2()" soit du grand n'importe quoi, mais il n'empêche que quand tu prends la doc de panda 3D la seule trace de  PosInterval est dans les classes, c'est cela que j'ai du mal à piger !!


Panda 3D est insuffisament documenté, et cette méthode/ce comportement n'est pas dans la doc.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1861844
dav74
Posté le 15-03-2009 à 19:27:30  profilanswer
 

Ok merci beaucoup pour l'info


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  question sur les classes

 

Sujets relatifs
Une question sur les suites/chaine de caracteres:)Quelques question sur mon script contact.
question basique sur le modèle objetquestion simple, difference entre deux classes CSS
question sur les classes[PHP] Question à propos des classes
Question de synchronisation pour des classes différentes[XHTML/CSS] Question con sur les classes CSS ...
petite question sur les classesQuestion simple sur les classes amies
Plus de sujets relatifs à : question sur les classes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR