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

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  connaitre le nombre d'images sur la timeline

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

connaitre le nombre d'images sur la timeline

n°1582432
freed102
Arayashiki
Posté le 04-07-2007 à 15:10:12  profilanswer
 

bonjour à tous,
question bête, je suis en train de faire un petit player de swf, j'aimerai savoir s'il est possible de connaitre le nombre d'image qui se trouvent sur la timeline de la scene afin de pouvoir faire une barre de progression ?
 
Je vous en remercie d'avance !
 
Freed

mood
Publicité
Posté le 04-07-2007 à 15:10:12  profilanswer
 

n°1582436
freed102
Arayashiki
Posté le 04-07-2007 à 15:13:32  profilanswer
 

c'était une vrai question bête....
 
_root._totalframes doit être la bonne réponse !

n°1582538
freed102
Arayashiki
Posté le 04-07-2007 à 17:11:44  profilanswer
 

bon, j'ai quand même besoin de votre aide.
 
Pour le player, c bon, tout marche ! j'ai même fait un curseur qui permet d'aller n'importe où dans la timeline, c'est cool...
 
mon probleme c'est le poid du fichier, c'est un fichier SWF du client qui fait 23Mo. en local ça marche plutot très bien....
 
... en distant... ça a l'air plus compliqué ! déja le loading (avec la classe MovieClipLoader) ne m'affiche pas la progression du chargement... et au bout d'une 10 aine de secondes, flash m'affiche qu'un script de l'animation ralentit l'execution d'Adobe Flash Player 9. blablabla... et il me propose d'abandonner l'execution du script....
 
 
... c pas bon tout ça !!!
 
 
help ?
 
Freed

n°1582555
Zedlefou
In cabbage we trust !
Posté le 04-07-2007 à 17:45:31  profilanswer
 

ben montre ton code, tu dois avoir une boucle qui ne finit pas


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
n°1582558
freed102
Arayashiki
Posté le 04-07-2007 à 17:55:36  profilanswer
 

Zedlefou a écrit :

ben montre ton code, tu dois avoir une boucle qui ne finit pas


 
Houla ! attention j'espère que tu as de l'aspirine ! :lol:
 
Pour infos, j'ai remarqué un comportement completement différent sur Firefox et sur IE :
 
Sur IE, il essaie de tout charger, au bout d'un moment il affiche le message d'erreur, si on lui demande de continuer d'executer le script, il finit par afficher l'animation correctement. La barre de chargement passe de 0% à 100% directement.
 
Sur Firefox, il commence à jouer l'animation avant même qu'elle soit totalement chargée, par contre il ne prend pas en compte le redimensionnement tant que l'animation n'est pas entierement chargée (ça doit etre normal) et la barre de chargement évolue bien en fonction du chargement.
 
Je commence à soupçonner un problème de cache, j'avais deja entendu parler de ce problème avec la fonction flush de PHP qui vide les buffers, que IE n'affiche pas mais que Firefox affiche. En tous cas ça y ressemble beaucoup !
 
Je joins le code dans le message suivant

n°1582559
freed102
Arayashiki
Posté le 04-07-2007 à 17:55:54  profilanswer
 

voici le code :
 

Code :
  1. function loadInClip(clip,photo)
  2. {
  3.  btn_stop._visible=false;
  4.  btn_play._visible=false;
  5. //removeMovieClip(clip);
  6. var clip:MovieClip=_root.diapo.attachMovie("MCphoto","MCPhoto",10,{_x:0,_y:0});
  7. _root.reponse.text="";
  8. //clip.unloadMovie();
  9. clip._visible=false;
  10. if(photo!="./" && photo!="../" )
  11. {
  12. parentClip=clip._parent;
  13. removeMovieClip(parentClip.blinkx);
  14. removeMovieClip(this._parent.loader);
  15. blink=parentClip.attachMovie("blink","blinkx",21);
  16. blink._alpha=0;
  17. //////trace("blink : "+blink+" depth : "+blink.getDepth() )
  18. if(_global.lastDiapowidth)
  19. {
  20. parentClip.blinkx._width=_global.lastDiapowidth;
  21. parentClip.blinkx._height=_global.lastDiapoheight;
  22. parentClip.blinkx._x=_global.lastDiapo_x;
  23. parentClip.blinkx._y=_global.lastDiapo_y;
  24. }else
  25. {
  26. parentClip.blinkx._width=parentClip.Mask._width+5;
  27. parentClip.blinkx._height=parentClip.Mask._height+5;
  28. parentClip.blinkx._x=parentClip.Mask._x-2.5;
  29. parentClip.blinkx._y=parentClip.Mask._y-2.5;
  30. }
  31. _root.reponse.text="photo : ici !!!"+photo
  32. parentClip.createEmptyMovieClip("loaderClip",22);
  33. loader=parentClip.loaderClip.attachMovie("loader","loaderx",parentClip.loaderClip.getNextHighestDepth());
  34. loader._x=(parentClip.Mask._width/2)-(loader._width/2)+parentClip.Mask._x;
  35. loader._y=(parentClip.Mask._height/2)-(loader._height/2)+parentClip.Mask._y;
  36. var mcLoader:MovieClipLoader = new MovieClipLoader();
  37. var mcListener:Object = new Object();
  38. mcListener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number){
  39. var myTweenLoader:Tween = new Tween(loader, "_alpha", mx.transitions.easing.Regular.easeOut, loader._alpha, 100,0.5, true);
  40. xpourcent=bytesLoaded*100/bytesTotal;
  41. thisTextField.htmlText = Math.round(xpourcent)+"%";
  42. thisTextField.wordWrap = true;
  43. loader.gotoAndStop(Math.round(xpourcent));
  44. }
  45. mcListener.onLoadInit = function(target_mc:MovieClip){
  46. //d'abord, je rentre la largeur et la hauteur de l'image original dans des variables intermédiaires:
  47. largeur = clip._width;
  48. hauteur = clip._height;
  49. clip._x=0;
  50. clip._y=0;
  51. clip._width = largeur*0.555
  52. clip._height= hauteur*0.555
  53. //clip.play();
  54.  btn_stop._visible=true;
  55.  btn_play._visible=true;
  56.  btn_stop.onPress=function(){
  57. //trace(diapo);
  58.  clip.stop();
  59.  }
  60.  btn_play.onPress=function(){
  61.  clip.play();
  62.  }
  63.  //trace("nombre d'images : "+clip._totalframes);
  64.  var time_interval:Number = setInterval(checkBufferTime, 1, clip,clip._totalframes);
  65.  barre.bout_progress.onEnterFrame=function()
  66. {
  67. this._x=barre.barre_progression._x+barre.barre_progression._width;
  68. }
  69. function tracer(txt)
  70. {
  71. reponse.htmlText+=txt+"\n";
  72. }
  73. var largeur:Number = barre.barre_progression._width;
  74. boutons.forward.onPress=function(){
  75. clip.gotoAndStop(clip._currentframe + 100);
  76. }
  77. boutons.goto_end.onPress=function(){
  78. clip.gotoAndStop(clip._totalframes );
  79. }
  80. boutons.goto_begin.onPress=function(){
  81. clip.gotoAndStop(1);
  82. }
  83. btn_play.onPress=function()
  84. {
  85.  if(_root.currentAction=="pause" )
  86.  {
  87.  _root.currentAction="play";
  88.  boutons.play_pause.gotoAndStop("pause" );
  89.  clip.play();
  90.  tracer("not playing" );
  91.  }
  92.  else
  93.  {
  94.  _root.currentAction="pause";
  95.  boutons.play_pause.gotoAndStop("play" );
  96.  clip.stop()
  97.  tracer("playing" );
  98. }
  99. this._visible=false;
  100. }
  101. boutons.play_pause.onRollOver=function()
  102. {
  103. this.over._alpha=100;
  104. }
  105. boutons.play_pause.onRollOut=function()
  106. {
  107. this.over._alpha=0;
  108. }
  109. boutons.play_pause.onRelease = function() {
  110. if(_root.currentAction=="pause" )
  111. {
  112.  btn_play._visible=false;
  113.  _root.currentAction="play";
  114.  this.gotoAndStop("pause" );
  115.  clip.play();
  116. }
  117. else
  118. {
  119.  _root.currentAction="pause";
  120.  this.gotoAndStop("play" );
  121.  clip.stop();
  122. }
  123.        
  124. };
  125. barre.curseur.onPress=function(){
  126. flux_video.pause();
  127. clip.stop();
  128. clearInterval(time_interval);
  129. startDrag(this,true,barre.timeline._width,0,0,0);
  130. this.onEnterFrame=function()
  131. {
  132.  clip.gotoAndStop(Math.floor((barre.curseur._x*clip._totalframes)/barre.timeline._width));
  133. }
  134. }
  135. barre.curseur.onEnterFrame=function()
  136. {
  137. this._x=clip._totalframes/barre.timeline._width;
  138. }
  139. barre.curseur.onRelease=function(){
  140. stopDrag();
  141. clip.gotoAndStop(Math.floor((barre.curseur._x*clip._totalframes)/barre.timeline._width));
  142. clip.play();
  143. var time_interval:Number = setInterval(checkBufferTime, 1, clip,clip._totalframes);
  144. }
  145. barre.barre_progression.onRelease = function() {
  146. clip.gotoAndPlay(Math.floor((this._xmouse*clip._totalframes)/barre.timeline._width));
  147. trace((this._xmouse*clip._totalframes)/barre.timeline._width)
  148. };
  149. _global.lastDiapowidth=clip._width;
  150. _global.lastDiapoheight=clip._height;
  151. _global.lastDiapo_x=clip._x;
  152. _global.lastDiapo_y=clip._y;
  153. blink._width=clip._width;
  154. blink._height=clip._height;
  155. blink._x=clip._x;
  156. blink._y=clip._y;
  157. blink._alpha=100;
  158. if(_global.directPlay==1)
  159. {
  160.  clearInterval(_root['showAll'+id_outil_int]);
  161.  _root['showAll'+id_outil_int]=setInterval(nextDiapo,_global.intervale);
  162. }
  163. clip._visible=true;
  164. var myTweenLoader:Tween = new Tween(loader, "_alpha", mx.transitions.easing.Regular.easeOut, loader._alpha, 0,0.5, true);
  165. myTweenLoader.onMotionFinished=function(){
  166.  removeMovieClip(loader._parent);
  167.  var myTweenBlink:Tween = new Tween(blink, "_alpha", mx.transitions.easing.Regular.easeOut, blink._alpha, 0,2, true);
  168. }
  169. myTweenBlink.onMotionFinished=function(){
  170.  removeMovieClip(blink);
  171. }
  172. }
  173.  ////////trace("c'est ici =>"+photo);
  174.  mcLoader.addListener(mcListener);
  175.  //mcLoader.unloadClip(clip);
  176.  mcLoader.loadClip(""+photo+"", clip);
  177.  }
  178. }


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

  connaitre le nombre d'images sur la timeline

 

Sujets relatifs
Images [REPONDU][FLV] connaitre la compatibilité avec les versions du flash player
[asp] arrondir nombre à x decimales sup/inf/autoProbleme affichage images avec script PHP
[Résolu-PHP]Connaitre le numéro de jour de l'année à partir d'une date?? Requette sql pour connaitre le nombre d'entrée dans une table mysql
[XSLT] Calculer le nombre de paramètres non null[excel/vba] Compter le nombre de fichiers dans un repertoire ?
Plus de sujets relatifs à : connaitre le nombre d'images sur la timeline


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