Position d'un clip dans un clip

Position d'un clip dans un clip - Flash/ActionScript - Programmation

Marsh Posté le 18-01-2005 à 18:15:14    

J'ai fait un clip, je lui ai donné l'instance "feuille"
ensuite je crée un ou plusieurs objet à l'interieur (enfin je crois !) de la façon suivante :
 

Code :
  1. function PlaceObjet(type)
  2. {
  3.  _global.ObjectNumber++;
  4.  feuille.createEmptyMovieClip(["clip"+_global.ObjectNumber],_global.zindex);
  5.  _global.zindex++;
  6.  with(_root.feuille["clip"+_global.ObjectNumber]){
  7.  this.createTextField(["texte"+_global.ObjectNumber],30,0,0,400,20);
  8.  this["texte"+_global.ObjectNumber].type = "Dynamic";
  9.  this["texte"+_global.ObjectNumber].multiline = true;
  10.  this["texte"+_global.ObjectNumber].wordWrap = true;
  11.  this["texte"+_global.ObjectNumber].border = false;
  12.  this["texte"+_global.ObjectNumber].background = false;
  13.  this["texte"+_global.ObjectNumber].text="Voici le texte ! ("+_global.ObjectNumber+" )";
  14.  this["texte"+_global.ObjectNumber].setTextFormat=(Fname);
  15.  this["texte"+_global.ObjectNumber].onPress=function()
  16.  {
  17.   startDrag(this);
  18.  }
  19.  _root.feuille["clip"+_global.ObjectNumber].onRelease=function()
  20.  {
  21.   stopDrag();
  22.  }
  23.  }
  24.  CreateTextObject(_global.zindex,_global.ObjectNumber);
  25.  _global.zindex++;
  26.  trace("Object n° :" +_global.ObjectNumber);
  27.  trace("depth object :"+_root[_global.ObjectNumber].getDepth);
  28. }


 
le probleme c'est que le clip s'affiche en haut à gauche de l'ecran... hors je veux qu'il se mette en haut à gauche de mon clip "feuille"...
 
comment qu'on fait ça ? les coordonnées (0;0) s'apppliquent t'elles sur la scene (et non sur le clip) ? :??:

Reply

Marsh Posté le 18-01-2005 à 18:15:14   

Reply

Marsh Posté le 18-01-2005 à 19:43:19    

J'aimerais voir ta fonction CreateTextObject() .....

Reply

Marsh Posté le 19-01-2005 à 10:57:54    

bien sur, mais les elements de cette fonctions ne sont pas concernés par la question puisque les objets créés se positionnent, eux, directement sur la scene (pour l'instant !)
 

Code :
  1. function CreateTextObject()
  2. {
  3. MyCreateTextfield(["txt_largeur"+_global.ObjectNumber],"Largeur",_global.zindex,25,_global.yindex);
  4. MyCreateInputfield(["val_largeur"+_global.ObjectNumber],"0",_global.zindex,85,_global.yindex);
  5. MyCreateTextfield(["txt_hauteur"+_global.ObjectNumber],"Hauteur",_global.zindex,25,_global.yindex);
  6. MyCreateInputfield(["txtval_hauteur"+_global.ObjectNumber],"0",_global.zindex,85,_global.yindex);
  7. MyCreateTextfield(["txt_y"+_global.ObjectNumber],"Y",_global.zindex,25,_global.yindex);
  8. MyCreateInputfield(["txtval_y"+_global.ObjectNumber],"0",_global.zindex,85,_global.yindex);
  9. MyCreateTextfield(["txt_x"+_global.ObjectNumber],"X",_global.zindex,25,_global.yindex);
  10. MyCreateInputfield(["txtval_x"+_global.ObjectNumber],"0",_global.zindex,85,_global.yindex);
  11. _global.zindex++;
  12. }


 
et voici la suite (provisoire !)
 

Code :
  1. function MyCreateTextfield(field,valeur,zindex,x,y)
  2. {
  3. _root.createTextField(field,zindex,x,y,65,20);
  4. _root[field].type = "Static";
  5. _root[field].multiline = true;
  6. _root[field].wordWrap = true;
  7. _root[field].border = false;
  8. _root[field].background = false;
  9. _root[field].text=valeur;
  10. _root[field].setTextFormat(Fname);
  11. _global.zindex++;
  12. }
  13. function MyCreateInputfield(field,valeur,zindex,x,y)
  14. {
  15. _root.createTextField(field,zindex,x,y,50,20);
  16. _root[field].type = "input";
  17. _root[field].multiline = true;
  18. _root[field].wordWrap = true;
  19. _root[field].border = true;
  20. _root[field].background = true;
  21. _root[field].setTextFormat(Fname);
  22. _root[field].text=valeur;
  23. _global.zindex++;
  24. _global.yindex=_global.yindex+30;
  25. }


Message édité par freed102 le 19-01-2005 à 11:01:03
Reply

Marsh Posté le 19-01-2005 à 11:06:00    

Ben c'est normal !!! Tu crées tes objets TextField dans la _ROOT !!!!!!!!!
Si tu veux les créer dans ton objet "feuille", il faudrait que tu passes un paramètre supplémentaire à ta fonction "MyCreate..." ( le 'parent' )

Code :
  1. function MyCreateTextfield(parent,field,valeur,zindex,x,y)
  2. {
  3. parent.createTextField(field,zindex,x,y,65,20);
  4. parent[field].type = "Static";
  5. parent[field].multiline = true;
  6. [ etc etc ]
  7. }


Mais ça, je n'ai pas testé .. à toi de voir ...

Reply

Marsh Posté le 19-01-2005 à 11:26:54    

pfew ! ça marche pas !... c pas facile en fait.. vu que mon code était sur la premiere keyframe de ma scene.. a mon avis faut que je dispatche un peu tout ça !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed