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

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Mes débuts avec les objets et prototypes et setInterval

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mes débuts avec les objets et prototypes et setInterval

n°1395783
freed102
Arayashiki
Posté le 27-06-2006 à 15:28:27  profilanswer
 

Bonjour à tous !
 
Voila j'ai decidé de passer au niveau supérieur, et utiliser donc les prototypes... j'ai à peu pres capté comment ça marche.. mais c pas encore ça !  
 
deja j'aimerai votre avis sur ma sémantique, j'aimerai que tous mes objets apparaissent les uns apres les autres.. (et pas tous en même temps !) pour cela j'ai décidé d'utiliser setInterval... jusque là ça fonctionne tres bien...
j'arrive donc à afficher mon premier niveau de menu XML... par contre le deuxieme niveau.. ça bug... et j'arrive pas trop à savoir pourquoi.. je me dis qu'il y a un truc qui cloche des le premier niveau.. bref.. je vais vous donner un bout de code... si vous arrivez à comprendre quelquechose.. c cool ! et si vous pouvez m'aider en plus... ça serait encore plus cool !!!!
 
deja voici le resultat de mon programme :
 
http://www.freedfromparis.com/flash_version/
 
et voici le bout de code (ne riez pas !!!)
 

Code :
  1. import mx.transitions.Tween;
  2. import mx.transitions.easing.*;
  3. _root.flag_fr.onPress=changeLangue;
  4. _root.flag_uk.onPress=changeLangue;
  5. if(!_root.langue)
  6. {
  7. _root.langue="fr";
  8. }
  9. var textFormatOver:TextFormat=new TextFormat();
  10.  textFormatOver.font= "virtualDJ";
  11.  textFormatOver.size= 10;
  12.  textFormatOver.color=0xFF6600;
  13.  var textFormatOut:TextFormat=new TextFormat();
  14.  textFormatOut.font= "virtualDJ";
  15.  textFormatOut.size= 10;
  16.  textFormatOut.color=0xAAAAAA;
  17.  var textFormatOver2:TextFormat=new TextFormat();
  18.  textFormatOver.font= "virtualDJ";
  19.  textFormatOver.size= 8;
  20.  textFormatOver.color=0xFF6600;
  21.  var textFormatOut2:TextFormat=new TextFormat();
  22.  textFormatOut.font= "virtualDJ";
  23.  textFormatOut.size= 8;
  24.  textFormatOut.color=0xAAAAAA;
  25. function newMenuXML(fichier)
  26. {
  27. _root.menuXML = new XML();
  28. _root.menuXML.ignoreWhite=true;
  29. _root.ImageArray = new Array();
  30. _root.menuXML.onLoad=extractData;
  31. _root.menuXML.load(fichier);
  32. }
  33. newMenuXML("menu.xml" );
  34. function extractData(success){
  35. _global.itemList=this.firstChild;
  36. _global.itemLenght=this.firstChild.childNodes.length;
  37. _global.i=0;
  38. showItem=setInterval(afficheItem,100);
  39. }
  40. MovieClip.prototype.afficheItem=function(){
  41. thisMC=_root.menu;
  42. thisMC.createEmptyMovieClip("item_"+_global.i,thisMC.getNextHighestDepth());
  43. item=thisMC["item_"+_global.i];
  44. item.id=_global.i;
  45. item.createTextField("txt_item",thisMC.getNextHighestDepth(),0,0,0,0);
  46. item["txt_item"].autoSize = "left";
  47. item["txt_item"].selectable=false;
  48. item["txt_item"].border=false;
  49. item["txt_item"].embedFonts=true;
  50. if(_root.langue=="fr" )
  51. {
  52.  item["txt_item"].text=_global.itemList.childNodes[_global.i].attributes.labelfr;
  53. }else if (_root.langue=="uk" )
  54. {
  55.  item["txt_item"].text=_global.itemList.childNodes[_global.i].attributes.labeluk;
  56. }
  57. if(!_global.nextPosX)
  58. {
  59.  _global.nextPosX=item._x;
  60. }
  61. item["txt_item"].setTextFormat(textFormatOut);
  62. item["txt_item"]._x=_global.nextPosX+5;
  63. with(item)
  64. {
  65.  lineStyle (1, 0xFF6600, 100);
  66.  moveTo (_global.nextPosX, 2);
  67.  lineTo (_global.nextPosX, 10);
  68. }
  69. _global.nextPosX=_global.nextPosX+item._width+5;
  70. item.onRollOver=setRollOver;
  71. item.onRollOut=setRollOut;
  72. item.onPress=displaySubItems;
  73. if(_global.i==_global.itemLenght-1){
  74.  clearInterval(showItem);
  75.  }else{
  76.  _global.i++
  77. }
  78. }
  79. MovieClip.prototype.afficheItem2=function(id){
  80. if(!_global.i2)
  81. {
  82. _global.i2=0
  83. }
  84. clearInterval(displaySubItems);
  85. thisMC=_root.menu;
  86. thisItemLength=_global.itemList.childNodes[id].childNodes.length;
  87. if(_global.i2>=thisItemLength)
  88. {
  89.  clearInterval(itemsLevel2);
  90. }
  91. else
  92. {
  93. thisMC.createEmptyMovieClip("item2_"+_global.i2,thisMC.getNextHighestDepth());
  94. item=thisMC["item2_"+_global.i2];
  95. item.xml=_global.itemList.childNodes[id].childNodes[_global.i2];
  96. item.createTextField("txt_item",thisMC.getNextHighestDepth(),0,15,0,0);
  97. item["txt_item"].autoSize = "center";
  98. item["txt_item"].border=false;
  99. item["txt_item"].embedFonts=true;
  100. item["txt_item"].text=item.xml.attributes.labelfr;
  101.  _global.itemLength2=_global.itemList.childNodes[id].childNodes.length;
  102.  item["txt_item"].setTextFormat(textFormatOut);
  103.  if(!_global.nextPosX2)
  104.  {
  105.   _global.nextPosX2=thisMC["item_"+id]._x;
  106.   trace
  107.  }
  108.  item["txt_item"]._x=_global.nextPosX2;
  109.  with(item)
  110. {
  111.  lineStyle (1, 0xFF6600, 100);
  112.  moveTo (_global.nextPosX2, 10);
  113.  lineTo (_global.nextPosX2, 18);
  114. }
  115.  _global.nextPosX2=_global.nextPosX2+item._width+5;
  116.  if(_global.i2<_global.itemLength2-1)
  117.  {
  118.  _global.i2++;
  119.  }
  120. }
  121. }
  122. MovieClip.prototype.deleteItems=function(id){
  123. clearInterval(displaySubItems);
  124. trace("item to delete : "+_global.i2);
  125. thisItem=_root.menu;
  126. trace("item to delete : "+thisItem["item2_"+5]);
  127. thisItem["item2_"+_global.i2].onEnterFrame=function(){
  128.  if(this._alpha>0)
  129.  {
  130.  this._alpha-=50
  131.  }
  132.  else
  133.  {
  134.   delete this.onEnterFrame;
  135.   this.removeMovieClip();
  136.   trace("item exists ? :"+_root.menu["item2"+_global.i2]);
  137.   if(_global.i2>0)
  138.  {
  139.   _global.i2--;
  140.  }
  141.  }
  142.  if(_global.i2==0)
  143.  {
  144.   clearInterval(deletingItems);
  145.   itemsLevel2=setInterval(afficheItem2,120,id);
  146.  }
  147. }
  148. }
  149. MovieClip.prototype.setRollOver=function(){
  150. this.txt_item.setTextFormat(textFormatOver);
  151. new mx.transitions.Tween(line, "_width", mx.transitions.easing.Elastic.easeOut, 1,this.txt_item._width, 1, true);
  152. new mx.transitions.Tween(line, "_x", mx.transitions.easing.Elastic.easeOut, line._x,this.txt_item._x, 1, true);
  153. //line1._width=this.txt_item._x+this.txt_item._width;
  154. }
  155. MovieClip.prototype.setRollOut=function(){
  156. this.txt_item.setTextFormat(textFormatOut);
  157. new mx.transitions.Tween(line, "_width", mx.transitions.easing.Elastic.easeOut, this.txt_item._width,1, 1, true);
  158. new mx.transitions.Tween(line, "_x", mx.transitions.easing.Elastic.easeOut, line._x,-1, 1, true);
  159. }
  160. MovieClip.prototype.setPressed=function(){
  161. this.txt_item.setTextFormat(textFormatOver);
  162. this.enabled=false;
  163. }
  164. MovieClip.prototype.displaySubItems=function(){
  165.   if(_global.i2>0)
  166.   {
  167.    trace("---------------------------------------------------------------" )
  168.    trace("deleting items for number: "+this.id)
  169.    deletingItems=setInterval(deleteItems,50,this.id);
  170.   }
  171.   else
  172.   {
  173.   _global.i2=0;
  174.   trace("---------------------------------------------------------------" )
  175.   trace("Add items for number: "+this.id)
  176.   itemsLevel2=setInterval(afficheItem2,120,this.id);
  177.   }
  178. }
  179. function changeLangue()
  180. {
  181. showItem=setInterval(afficheItem,100);
  182. }


 
 
bref... c pour l'instant un peu le gros bordel ! mais justement j'aimerai savoir comment proceder pour pas que ce soit le bordel ! quitte à tout refaire ! mais j'aimerai vos techniques et vos conseils !.. j'ai lu plein de tutos sur la POO avec flash et les prototypes (media-box) mais ya encore plein de trucs qui m'echappent.. surtout au niveau de l'algorithmie.
 
 
Merci d'avance
 
Freed

mood
Publicité
Posté le 27-06-2006 à 15:28:27  profilanswer
 

n°1396077
craps_youp​la
Posté le 27-06-2006 à 22:16:14  profilanswer
 

euh...les prototypes et les setInterval, c'est juste du domaine de la syntaxe. Avant d'apprendre la syntaxe (ce qui est censé être rapide, bête et méchant, au passage), il faut apprendre la grammaire.
 
là, c'est un peu comme si tu te lançais dans la construction d'une maison avec des connaissances de maçon : ça va pas tenir debout, mais les joints sont propres. On s'en fout que les joints soient propres.
 
Ce n'est pas de "l'algorithmie", c'est de "l'architecture logicielle", qui est encore une autre discipline. Là faudrait que tu pécho un bouquin d'architecture logicielle et que tu potasses (ah oui, au fait, on apprend à coder dans les livres, pas dans les tutos - les tutos c'est juste pour la syntaxe, c'est très accessoire).
 
Habituellement, on apprend les notions de bases de l'architecture logicielle orienté objet via le langage Java. On considère classiquement "Design Pattern:Head First", "Object-Oriented Software Engineering w/ UML, Patterns and Java" comme des bonnes références. Pour Flash spécifiquement, le Moock, à savoir "Essential Actionscript 2.0" de Colin Moock chez O'Reilly.
 
tu n'y couperas pas.

n°1396079
Mr Mala
Posté le 27-06-2006 à 22:32:22  profilanswer
 

Mmmmh en plus, même si tu as bien compris le "comment" des prototypes, tu n'as peut-être pas bien compris le "pourquoi" ...
 
Ici, à partir de maintenant, le moindre movieclip que tu vas créer va automatiquement posséder les fonctions afficheItem, deleteItem, .. etc  
 
Je ne vois pas trop l'intérêt ...
 
Un prototype sert à ajouter des fonctionnalités à toute une classe ...
cf ici , l'exemple du "invert" de raytaller ...
 
Maintenant, tu fais ce que tu veux hein  [:airforceone]


Message édité par Mr Mala le 27-06-2006 à 22:33:16
n°1396114
freed102
Arayashiki
Posté le 27-06-2006 à 23:08:44  profilanswer
 

alors peut etre que si j'utilise des simples "fonctions" cela peut suffir ?
ou alors une classe ? (mais là je sais pas faire non plus pour l'instant)

n°1396203
craps_youp​la
Posté le 28-06-2006 à 00:27:23  profilanswer
 

prototypes = forme d'implémentation de la programmation orienté objet sous Actionscript v1 (jusque Flash MX). C'est la même implémentation utilisée dans Javascript (ECMA-262).
 
classes = forme d'implementation de la programmation orienté objet sous Actionscript v2 (à partir de Flash MX 2004). C'est la même implémentation décrite dans la norme ECMAscript 4 (l'hypothétique Javascript 2). Proche de Java plus que du C++ : héritage multiple implémenté par les interfaces, utilisation d'un modéle de délégation d'évenements, par exemple.
 
On préférera les classes aux prototypes, cela va de soit. Les protos sont intéressants si tu fais de la maintenance sur des projets existants, pour développer 'from scratch' ça n'a aucun sens.
 
Ici, tu as un objet aux limites définies (une encapsulation évidente) qui est ton menu. Tu auras donc au moins une classe de menu - qui peut éventuellement contenir une classe MenuItem, suivant la complexité des roll-overs et actions associées aux items de ce menu.
 
Moins évident, tu dois aussi créer une classe MenuData, qui se chargera uniquement de pomper le XML, et de le traduire sous une forme plus simple que l'objet XML que tu reçois actuellement, qui a une syntaxe assez lourde (firstChild.childNodes[foo].etc...). Ta classe MenuData s'appelle un 'parser XML'. Idéalement elle hériterait de la classe XML standard par composition, elle renverrait un tableau d'Object, éventuellement assez profond, mais forcément plus facile à manipuler. Elle peut aussi gérer, en plus de la lecture, l'opération inverse qui est l'écriture de fichiers XML (pour quand tu développeras des back-offices...). Tu dois aussi gérer en interne à cette classe le parcours de données, en lui ajoutant des méthodes plus pratiques telles que getCategories():Array ou getItemsByCategories(pCategory:String):Array, qui allégeraient un peu ton code.
 
Et apprends les aspects théoriques du développement et de l'architecture logicielle, parce que là tu vas stagner à faire du code procédural pouilleux inexploitable en production (du script et des fonctions quoi...sur ce dev-là tu vois que tu touches déjà les limites de ce qu'on peut faire en procédural).

Message cité 2 fois
Message édité par craps_youpla le 28-06-2006 à 00:36:08
n°1396221
freed102
Arayashiki
Posté le 28-06-2006 à 01:13:35  profilanswer
 

donc si je comprends bien.. il faut décortiquer chaque fonction du programme.. et en faire des classes bien définies... et ensuite mon objet fera appel à ces différentes classes pour en sortir un resultat  ?
 
(xcusez moi d'etre relou... mais j'ai tres tres envie de faire les choses bien.. et je sais que maintenant mon objectif c'est de faire de la POO pour faire les choses bien ! et pour combler une bonne partie de mes lacunes.. je sais que j'en suis capable.. mais c'est une façon de penser completement différente de ce que j'ai pu faire jusqu'à present)

Message cité 1 fois
Message édité par freed102 le 28-06-2006 à 01:20:42
n°1396334
Mr Mala
Posté le 28-06-2006 à 10:40:28  profilanswer
 


 
Et ben voilà, tout est dit ! [:otakonleboss]  
 

freed102 a écrit :

donc si je comprends bien.. il faut décortiquer chaque fonction du programme.. et en faire des classes bien définies... et ensuite mon objet fera appel à ces différentes classes pour en sortir un resultat  ?


 
Heuuuu non ..
Ton objet EST ta classe qui contient des fonctions/fonctionnalités propres ...

n°1396559
freed102
Arayashiki
Posté le 28-06-2006 à 14:18:50  profilanswer
 

craps_youpla a écrit :

prototypes = forme d'implémentation de la programmation orienté objet sous Actionscript v1 (jusque Flash MX). C'est la même implémentation utilisée dans Javascript (ECMA-262).
 
classes = forme d'implementation de la programmation orienté objet sous Actionscript v2 (à partir de Flash MX 2004). C'est la même implémentation décrite dans la norme ECMAscript 4 (l'hypothétique Javascript 2). Proche de Java plus que du C++ : héritage multiple implémenté par les interfaces, utilisation d'un modéle de délégation d'évenements, par exemple.
 
On préférera les classes aux prototypes, cela va de soit. Les protos sont intéressants si tu fais de la maintenance sur des projets existants, pour développer 'from scratch' ça n'a aucun sens.
 
Ici, tu as un objet aux limites définies (une encapsulation évidente) qui est ton menu. Tu auras donc au moins une classe de menu - qui peut éventuellement contenir une classe MenuItem, suivant la complexité des roll-overs et actions associées aux items de ce menu.
 
Moins évident, tu dois aussi créer une classe MenuData, qui se chargera uniquement de pomper le XML, et de le traduire sous une forme plus simple que l'objet XML que tu reçois actuellement, qui a une syntaxe assez lourde (firstChild.childNodes[foo].etc...). Ta classe MenuData s'appelle un 'parser XML'. Idéalement elle hériterait de la classe XML standard par composition, elle renverrait un tableau d'Object, éventuellement assez profond, mais forcément plus facile à manipuler. Elle peut aussi gérer, en plus de la lecture, l'opération inverse qui est l'écriture de fichiers XML (pour quand tu développeras des back-offices...). Tu dois aussi gérer en interne à cette classe le parcours de données, en lui ajoutant des méthodes plus pratiques telles que getCategories():Array ou getItemsByCategories(pCategory:String):Array, qui allégeraient un peu ton code.
 
Et apprends les aspects théoriques du développement et de l'architecture logicielle, parce que là tu vas stagner à faire du code procédural pouilleux inexploitable en production (du script et des fonctions quoi...sur ce dev-là tu vois que tu touches déjà les limites de ce qu'on peut faire en procédural).


 
Je commence à capter un peu l'idée... maintenant ce que j'arrive pas trop à capter.. c comment on assemble tout ça pour que ça agisse par exemple sur un seul element de ma page, là je vais créer plein de classes... mais apres ? dans chaque classe je fais appel aux autres classes ? par exemple dans la classe "menu" je vais appeler la classe "loadXML" puis la classe "menuItem" etc etc ?
 
 
... deja est-ce que je suis sur la bonne voie :
 

Code :
  1. class menuData{
  2. var XMLContent:String;
  3. var XMLLenght;
  4. function menuDataL(file:String){
  5.  this.XMLfile= new XML();
  6.  this.XMLfile.ignoreWhite=true;
  7. this.XMLfile.onLoad=extractData;
  8. this.XMLfile.load(file);
  9. }
  10. function extractData(success){
  11. this.XMLContent=this.firstChild;
  12. this.XMLLenght=this.firstChild.childNodes.length;
  13. }
  14. }


Message édité par freed102 le 28-06-2006 à 14:30:48
n°1396605
freed102
Arayashiki
Posté le 28-06-2006 à 14:53:52  profilanswer
 

ya t il un moyen de ne pas mettre les .as dans le dossier macromedia/flash 8.0 .. blablabla ? si je veux le mettre dans mon dossier de travail je peux ?

n°1396611
freed102
Arayashiki
Posté le 28-06-2006 à 15:01:20  profilanswer
 

j'ai trouvé (parametres de publication)

mood
Publicité
Posté le 28-06-2006 à 15:01:20  profilanswer
 

n°1396624
freed102
Arayashiki
Posté le 28-06-2006 à 15:21:13  profilanswer
 

donc voila... j'ai fait ça :
 
ma classe :  

Code :
  1. class menuData{
  2. var XMLContent:XMLNode;
  3. var XMLFile:XML;
  4. var XMLLenght;
  5. var filename:String;
  6. function menuData(file:String){
  7.  this.XMLFile= new XML();
  8.  this.XMLFile.ignoreWhite=true;
  9. this.XMLFile.onLoad=extractData;
  10. this.XMLFile.load(file);
  11. this.filename=file;
  12. }
  13. function extractData(success){
  14.  trace("ok" )
  15. this.XMLContent=XMLFile.firstChild;
  16. this.XMLLenght=XMLFile.firstChild.childNodes.length;
  17. }
  18. }


 
et dans flash j'ai fait ça :

Code :
  1. import menuData;
  2.  var XMLMenu=new menuData("menu.xml" );
  3.  trace("XMLMenu :" +XMLMenu.XMLContent);


 
mais il me retourne :
XMLMenu :undefined
 
et si je fais :
 
trace("XMLMenu :" +XMLMenu.filename);
 
il me retourne :
 
XMLMenu :menu.xml
 
... donc là ya un truc qui m'echappe

n°1396638
Mr Mala
Posté le 28-06-2006 à 15:45:20  profilanswer
 

Bon déjà si tu veux faire du "bon" AS2, faut apprendre à typer tes variables :
 
var XMLMenu:menuData = new menuData("menu.xml" );
 

n°1396643
freed102
Arayashiki
Posté le 28-06-2006 à 15:49:11  profilanswer
 

ok pour ça mais je n'arrive pas à pointer mes firstchild, childnodes etc etc ! il me dit tout le temps :
 
Il n'existe aucune propriété nommée 'firstChild'.
 

Code :
  1. class menuData{
  2. var XMLContent:XMLNode;
  3. var content:String;
  4. var XMLFile:XML;
  5. var XMLLenght:Number;
  6. var level:Number;
  7. var item:Number;
  8. var filename:String;
  9. function menuData(file:String,level,item){
  10.  this.XMLFile= new XML();
  11.  this.XMLFile.ignoreWhite=true;
  12. this.XMLFile.onLoad=extractData;
  13. this.XMLFile.load(file);
  14. this.filename=file;
  15.  this.level=level;
  16.  this.item=item;
  17. }
  18. function extractData(success){
  19. trace(this)
  20. this.content=this.firstChild.childNodes[this.level].childNodes[this.item].attributes.labelfr;
  21. XMLLenght=XMLContent.firstChild.childNodes.length;
  22. }
  23. }


 
si je fais trace(this) il me retourne tout le contenu du XML;
mais apres j'en fais quoi ?


Message édité par freed102 le 28-06-2006 à 15:51:30
n°1396798
freed102
Arayashiki
Posté le 28-06-2006 à 18:35:52  profilanswer
 

oulala ! la nage totale ! j'ai essayé de me pencher sur les static, private, public... et bah j'arrive à rien du tout ! lol !  
 

Code :
  1. class menuClip{
  2. //propriétés
  3. //concernant le clip parent
  4. var __clip:MovieClip;
  5. var __id:String;
  6. //concernant le XML
  7. var __filename:String;
  8. static var XMLFile:XML;
  9. static var XMLContent:XMLNode;
  10. static  var __content:String;
  11. static var __XMLLength:Number;
  12. //concernant l'item en cours
  13. var __level:Number;
  14. var __item:Number;
  15. var __itemNumber:String;
  16. //constructeur
  17. function menuClip(MC){
  18.  this.__clip=MC;
  19. }
  20. //Chargement du XML
  21.  function loadXML(file:String,level,item){
  22.  menuClip.XMLFile= new XML();
  23.  menuClip.XMLFile.ignoreWhite=true;
  24.  menuClip.XMLFile.onLoad=extractData;
  25.  menuClip.XMLFile.load(file);
  26.  trace(file)
  27. }
  28. //Extraction des données XML
  29. private static function extractData(success){
  30.  var __root : XMLNode = menuClip.XMLFile.firstChild.firstChild;
  31.  menuClip.__content=__root.firstChild.childNodes[0].childNodes[0].attributes.labelfr;
  32.  menuClip.__XMLLength=__root.firstChild.childNodes.length;
  33.  trace("menu item : "+menuClip.__content)
  34. }
  35. //retourne le contenu
  36. function getContent()
  37. {
  38.  return menuClip.__content;
  39. }
  40. }


je sais même pas si mes fonctions sont executées (les trace ne répondent pas... c peut etre normal ? )


Message édité par freed102 le 28-06-2006 à 18:36:37
n°1396832
craps_youp​la
Posté le 28-06-2006 à 19:44:59  profilanswer
 

lol, c'est exactement ce que j'écrivais dès mon premier post. La syntaxe c'est trivial - tu as parfaitement réussi à coder rapidement quelques classes (qui buggent un chouia, certes, mais t'as tracé).
 
et comme j'écrivais dans mon premier post, c'est totalement inutile ce que tu as codé aujourd'hui, vu que tu maîtrises pas les concepts sous-jacents à tout ça.
 
en l'occurrence tu dois faire appel à ton code d'exécution ("passer une méthode en référence", ça s'appelle aussi un callback) depuis ta méthode extractData, sinon ton XML est pas encore chargé alors que tu essaies déjà de le lire.
 

Citation :

donc si je comprends bien.. il faut décortiquer chaque fonction du programme.. et en faire des classes bien définies...


 
Oui, et la méthode de décorticage s'appelle "UML" (ou simplement "improviser à l'arrache", selon les projets). En Flash, les projets sont plus petits, donc on modélise rarement, on se contente juste d'utiliser des structures-types d'interactions entre objet qui reviennent souvent qque soit le langage. On appelle ça des "design-pattern". Par exemple, là tu utilises le design-pattern du DataObject, un objet qui sert à encapsuler des données (MenuData).
 
...et si tu te sors pas les doigts du cul à acheter un bouquin et à apprendre à vraiment développer, tu arriveras à rien...en plus c'est une honte, t'assimiles à toute vitesse, je comprends pas pourquoi tu te fais pas ton petit apprentissage rapide de la POO avec Java en solo, t'en as pas pour longtemps.


Message édité par craps_youpla le 28-06-2006 à 19:48:51
n°1396842
craps_youp​la
Posté le 28-06-2006 à 19:53:52  profilanswer
 

y'a 'thinking in patterns' gratos sur le site de l'auteur, il est pas fini mais c'est un bon bouquin, en plus y'a des patterns assez exotiques, je l'utilise réguilèrement en production sur de l'AS2, le code est en Java - mais le code c'est trivial ;) : http://www.mindviewinc.com/

n°1396858
freed102
Arayashiki
Posté le 28-06-2006 à 20:27:15  profilanswer
 

merci pour tous tes conseils ! je suis en train de regarder ton "thinking in patterns" but... it is all in anglishe !!!! lol ! je vais avoir les cheveux qui poussent à l'intérieur tres vite ! lol ! surtout que mon imprimante est HS ! je vais demander à ma reum de me l'imprimer demain!

n°1396891
freed102
Arayashiki
Posté le 28-06-2006 à 21:26:49  profilanswer
 

en fait en regardant les "design patterns" ça me fait beaucoup penser aux "ordinogrammes" qu'on m'a appris à faire en PHP... c la même idée.. c dessiner toute l'architecture du programme avant de le mettre en oeuvre... (c dans le même esprit que la modelisation de merise aussi)

n°1852186
rush50
rush
Posté le 17-02-2009 à 15:06:18  profilanswer
 

Je reprend le fil de la discussion, j'espère que fred est encore là, ceux sont les mêmes questions, à peu près. Seulement moi, c'est graphique! et là!... j'ai des classes,un pack même,mais je sais pas comment les tester. par exemple les lib pix , c'est des classes certes mais pour les voir, comment fait on?!  
un script as, ce lis ce décortique? s'appel? quoi?
aidez moi
je suis au pied du mur avec bloc et toutoutoutout

n°1854036
Zedlefou
In cabbage we trust !
Posté le 23-02-2009 à 04:06:13  profilanswer
 

Fais un nouveau topic ...


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Mes débuts avec les objets et prototypes et setInterval

 

Sujets relatifs
JSF + JAR : instanciation d'objetsManipuler une liste d'objets
[VBA Excel] Colorier les objets d'un graphiquevariables membres sont des objets -> bonne/mauvaise idée ?
Probleme de sérialisation XML de collection d'objets VB .Netsuivi d'objets
(résolu) [Java 3D] Comment centrer la vue sur des objets WaveFront(résolu) [Java 3D] Changer l'apparence d'objets WaveFront
iText Créer ses propres objetsMovieClipLoader et setInterval
Plus de sujets relatifs à : Mes débuts avec les objets et prototypes et setInterval


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