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

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Petite question à propos de Flash

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Petite question à propos de Flash

n°1839763
Sheeloo
Enfoirés de nihilistes !
Posté le 18-01-2009 à 19:54:15  profilanswer
 

Hello !
 
J'ai un problème et je suis pas content !  :o  
 
J'ai une intro de site avec des images en 490 * 240 je crois. Bref, interpolations de mouvements + fondu alpha entre chaque image, le tout est géré par la timeline.  
Sur un sempron 3000, ca rame, ca saccade.  
 
Première question : Est-ce que flash ne peut pas mieux gérer les mouvements d'images bitmap ? (il s'agit de jpg bien compressés)
 
Ensuite, j'ai fais une barre de scroll pour faire défiler un texte. Le texte défile à travers un masque. Quand on place la souris (rollover) sur la barre de scroll, le clip (qui contient le texte) défile dans le sens du _y.
C'est de l'AS, la fonction rollover sur cette barre de scroll entraine sur un "onEnterFrame" pour faire défiler le texte à la cadence du clip 25 fps, suivant où la souris se trouve sur la barre.
 
C'est ignoble, ça saccade à mort et ça me prend 100% d'un coeur de mon processeur (j'ai un E8400, et tous mes clients n'ont pas ce genre de matos).
Le texte n'a pas d'anti-aliasing, il est en texte bitmap.
 
Deuxième question : Rien à faire pour gérer tout ça d'une manière plus fluide ?
 
Je trouve que flash à bien du mal à gérer les mouvements de clips bitmaps ou texte bitmap. Je vois pourtant des choses terribles sur le net, très fluides. Je dois m'y prendre comme un manche ou bien ?
 
Merci d'avance pour votre aide !
 :hello:  :jap:

mood
Publicité
Posté le 18-01-2009 à 19:54:15  profilanswer
 

n°1839850
abais
Posté le 19-01-2009 à 09:24:21  profilanswer
 

Je m'en souviens que j'avais un problème absurde de lourdeur de texte aussi (qui subissait des mouvement par enterFrame aussi)
Ecrase ton texte (Ctrl+B 2 fois)(...mais garde une copie quelque part !).
Sur mon site, j'ai même du remplacé certains textes par des images .png !!!
Bcp plus léger pour flash en ressources (mais + de poids et texte non selectionnable) !
Absurde hein ? ...

 

Ce problème semble résolu en AS3.


Message édité par abais le 19-01-2009 à 09:26:25

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1839881
Sheeloo
Enfoirés de nihilistes !
Posté le 19-01-2009 à 11:13:06  profilanswer
 

Excellent ! Ecraser le texte, j'avais appris à faire ça en cours mais j'ai bien oublié depuis le temps (1 an rhoo...). J'avais zappé ça !
 
Merci beaucoup ça me sauve ! Quand à la méthode png, ça me semble une bonne alternative, en 8 bits ça devrait pas trop poser de soucis de poids j'ai pas un long texte
 
:D


Message édité par Sheeloo le 19-01-2009 à 11:17:05
n°1839887
Zedlefou
In cabbage we trust !
Posté le 19-01-2009 à 11:31:19  profilanswer
 

Pour le scroll, ca parait bizarre.
Faudrait que tu nous montres le code et que tu nous dises exactement comment est fait ton texte.
Regarde sur mon site, j'ai des scrolls sur du texte, tout ca fait maison (sans composant je veux dire) et ca passe bien.
 
Pour les images, en effet, c'est pas facile a gerer pour Flash (c'est pas fait pour hein, normalement c'est surtout du vecto). Mais elles ne sont pas si grandes, ca devrait aller. Essaie en 30fps.
 
Sinon on veut bien un exemple. :)


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
n°1839891
Sheeloo
Enfoirés de nihilistes !
Posté le 19-01-2009 à 11:45:19  profilanswer
 

houla si je passe en 30 fps je casse toutes les anims du site, tout deviendra plus rapide. (Pour rappel je suis en 25). J'ai descendu à 25 volontairement en me disant que moins y avait de calculs à gérer à la sec, meilleur sera le rendu pour les ptits pcs
 
Voici le morceau du code de texte. Avant ça bien évidemment y a le code qui charge l'emptymovieclip etc...
 

Code :
  1. site.container_texte_actif_mc.texte_histoire.ascenceur.onRollOver = function() {//Fonction pour le défilement du texte sur la partie Histoire
  2.  
  3.        site.container_texte_actif_mc.texte_histoire.ascenceur.onEnterFrame = function() {
  4.  
  5.            var temp:Number;
  6.            if (site.container_texte_actif_mc.texte_histoire.ascenceur._ymouse<170) {//Si on est dans la zone du haut
  7.                temp = 170-site.container_texte_actif_mc.texte_histoire.ascenceur._ymouse;
  8.                temp /= 7;
  9.                site.container_texte_actif_mc.texte_histoire.contenu_texte_histoire_mc._y += temp;
  10.            }
  11.  
  12.            if (site.container_texte_actif_mc.texte_histoire.ascenceur._ymouse>250) {//Si on est dans la zone du bas
  13.                temp = site.container_texte_actif_mc.texte_histoire.ascenceur._ymouse-250;
  14.                temp /= 6;
  15.                site.container_texte_actif_mc.texte_histoire.contenu_texte_histoire_mc._y -= temp;
  16.  
  17.            }
  18.        };
  19.    };
  20.  
  21.  
  22.    site.container_texte_actif_mc.texte_histoire.ascenceur.onRollOut = function() {
  23.        delete site.container_texte_actif_mc.texte_histoire.ascenceur.onEnterFrame;
  24.    };


 
site = container du site complet
container_texte_actif_mc (j'aime les noms à rallonge) : tout est dans le titre
texte_histoire = Le container qui contient le clip ascenceur (la barre de scroll) + texte (contenu_texte_histoire_mc) + le masque qui vient cadrer tout ça dans un petit rectangle.
contenu_texte_histoire_mc = Le clip qui contient le bloc de texte à faire défiler
 
Avec ce code, quand on passe la souris sur le haut de l'ascenceur, le défilement est plus rapide que si la souris se dirige vers le milieu.
 
Voila voila


Message édité par Sheeloo le 19-01-2009 à 11:50:16
n°1839893
Sheeloo
Enfoirés de nihilistes !
Posté le 19-01-2009 à 11:47:41  profilanswer
 

Ok j'ai été voir ton site, par exemple dans la partie CV quand je scroll, déja c'est fluide, et ça n'occupe que 10% de mon processeur pour un texte conséquent. Mon texte à moi est bien plus cours, et ça occupe 50% d'un coeur (donc 100% du processeur quoi)...
 
Comment t'as fait ??

n°1839900
Sheeloo
Enfoirés de nihilistes !
Posté le 19-01-2009 à 12:13:50  profilanswer
 

J'en profite pour flooder un exemple du site :
 
http://test.sheeloo.net/Site_web_DSP_R7.swf
 
Il n'y a que le bouton "Entrer" qui fonctionne, ne pas faire attention au reste du site (genre les images qui défilent, le scroll etc, WIP)
En ligne, le site me mange 75% de ressources, c'est énorme...


Message édité par Sheeloo le 19-01-2009 à 12:14:24
n°1839906
Zedlefou
In cabbage we trust !
Posté le 19-01-2009 à 12:27:30  profilanswer
 

1. Je suis un Dieu.
2. Tu ne me dis pas si ton texte est dans un champ texte statique, dynamique, si tu as importé des typos etc ...
3. Si tu pouvais mettre ton .fla sur http://dl.free.fr je te dirais ce qui ne va pas. Parce que la ca a l'air bon.
4. ton code, je l'aurai ecris de la sorte:

Code :
  1. var step : Number;
  2. var ascenceur:MovieClip = site.container_texte_actif_mc.texte_histoire.ascenceur;
  3. var texte:MovieClip = site.container_texte_actif_mc.texte_histoire.contenu_texte_histoire_mc;
  4. //
  5. ascenceur.onRollOver = function (){
  6.   step = 1;
  7. };
  8. this.onEnterFrame = function (){
  9.   if(step == 1){
  10.      if (ascenceur._ymouse < 170){
  11.         //Si on est dans la zone du haut
  12.         texte._y += (170 - ascenceur._ymouse)/7;
  13.      }else if (ascenceur._ymouse > 250){
  14.         //Si on est dans la zone du bas
  15.         texte._y -= (ascenceur._ymouse - 250)/6;
  16.      }
  17.   }
  18. };
  19. ascenceur.onRollOut = function (){
  20.   step = 0;
  21. };


J'ai pas testé, mais ca devrait marcher ;)


Message édité par Zedlefou le 19-01-2009 à 12:29:42

---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
n°1839914
Sheeloo
Enfoirés de nihilistes !
Posté le 19-01-2009 à 12:56:57  profilanswer
 

Le texte est statique (si je le met dynamique il disparait), typo Verdana !
 
Le fla ici : (edit : j'ai changé complètement mon code, épuré, et plus propre, le lien n'a plus lieu d'être)
 
Edit : Dans ton code, le "this.onEnterFrame" ne s'active pas je ne sais pas trop pourquoi... Peut être parceque tout mon code est dans la fonction onRelease du bouton "Entrer" justement non ?
Pas grave j'ai remodifié et c'est bien plus clair. J'aime pas les maths !  :o


Message édité par Sheeloo le 21-01-2009 à 00:50:55
n°1839997
Zedlefou
In cabbage we trust !
Posté le 19-01-2009 à 14:48:30  profilanswer
 

Le onEnterFrame, tu peux le mettre sur ascenseur.
 
Le 30fps, chui dsl mais c'est ce qu'il y a de plus optimisé pour le Flash. Je sais c'est chiant quand toutes les anims sont faites mais bon.
Bref, avec mon code, en 30 FPS avec du texte Verdana taille 12 (le Ctrl+B sur le texte :non: ) en augmentant le coefficient (/15) c'est tout a fait convenable.


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
mood
Publicité
Posté le 19-01-2009 à 14:48:30  profilanswer
 

n°1839998
Sheeloo
Enfoirés de nihilistes !
Posté le 19-01-2009 à 14:49:41  profilanswer
 

Sur mon fichier ? Ton proc tourne à combien de % pendant le scroll ?  :??:


Message édité par Sheeloo le 19-01-2009 à 14:50:53
n°1840000
Zedlefou
In cabbage we trust !
Posté le 19-01-2009 à 14:56:12  profilanswer
 

Autant de CPU pour les 2 (70%). Pourtant T5500 1,6GHz.
Quand je test le tien en effet c'est pas top.
Avec mes modifs, c'est beaucoup mieux.
 
Et sinon si tu veux etre au top :
http://forum.hardware.fr/hfr/Progr [...] m#t1817423
:D


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
n°1840006
Sheeloo
Enfoirés de nihilistes !
Posté le 19-01-2009 à 15:06:18  profilanswer
 

Je vais aller voir ça merci bien :p Ste pub :p
 
edit : Wah, ca fait un paquet de code pour faire bouger un clip de haut en bas  :ouch:  
D'autant qu'il y a des fonctions que je ne maitrise pas encore dans ce code. Il me sera utile niveau tutoriel par contre  :sol:
 
J'ai transformé le texte en gif, ca me prend moitié moins de ressources  :whistle:  
Google indexe le contenu texte des swf, qu'en est-il si on colle en intro du texte alpha sur 0 ? Est-ce qu'il le reférence malgré tout ? Un texte clip alpha 0 existe-t-il une fois compilé ?
 
*Sheeloo qui pose tjrs des questions débiles* (mais cruciales)


Message édité par Sheeloo le 19-01-2009 à 15:56:00
n°1840093
Zedlefou
In cabbage we trust !
Posté le 19-01-2009 à 16:50:15  profilanswer
 

Je sais pas pour le referencement.
Comme je bosse quasi jamais avec du texte en dur, je fais pas comme ca.


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
n°1841227
Sheeloo
Enfoirés de nihilistes !
Posté le 21-01-2009 à 16:24:09  profilanswer
 

J'aurai une autre question, un problème qui se pose assez souvent.
 
J'ai des fonctions qui font appel à des clips qui ne sont pas encore instanciés dans la scène (parcequ'ils apparaissent après un fondu ou en cliquant sur une rubrique par ex.)
 
Comment faire pour que le code s'éxecute uniquement quand le clip apparait dans la scène ?
 
J'ai essayé de mettre des écouteurs avec un onLoad ou onLoadInit mais rien n'y fait, je crois les avoir tous passés, impossible de trouver la bonne fonction...
 
Merci :)

n°1841235
abais
Posté le 21-01-2009 à 16:44:17  profilanswer
 

Je n'ai pas bien compris...
Qu'est ce qui t'empeche de lancer cette fonction au moment ou tu instance tes objets ?


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1841285
Sheeloo
Enfoirés de nihilistes !
Posté le 21-01-2009 à 19:50:17  profilanswer
 

Une meilleure clarté dans mon code...
 
J'aime tout avoir sur une seule base, avec différentes fonctions bien séparées les unes des autres. Là ça m'oblige à bidouiller pour lancer la fonction au moment où elle le clip est appelé, ça m'oblige (pour une fonction à lancer) à aller voir à 2 endroits...
 
Je sais pas si je suis bien clair :p
 
Je découvre les joies de flash et je fais un max pour que mon code soit propre depuis quelques jours, du coup j'évite les situations ambiguës.
 
J'arrive sur la dernière ligne droite de ce site que je suis en train de réaliser, je vous le montrerai une fois qu'il sera terminé, vous m'avez aidé dans ce projet après tout :)


Message édité par Sheeloo le 21-01-2009 à 19:51:20

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

  Petite question à propos de Flash

 

Sujets relatifs
Flash et framesets ?Petite question sur un on release
Besoin assumé d'un décompilateur flashintégrer du PHP/XML à Flash
Question de basemettre action sur bouton flash
Question sur les variablesquestion reseau
xml et .css dans flash ???? 
Plus de sujets relatifs à : Petite question à propos de Flash


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