begin process at 2012 02 09 08:49:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Optimisation du code AS


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Optimisation du code AS

lundi 4 août 2008 à 12:59:21 | Optimisation du code AS

Limack

Bonjour les amis(es)

J'ai un problème pour un long code que j'ai écrit : l'erreur envoyée par flash est la suivante (Un script de cette animation ralentit l'exécution de flash player. Si l'exécution n'est pas suspendue, il est possible que votre ordinateur ne réagisse plus)

Dites-moi comment faire alors que le code n'est pas une boucle infinie. c'est vraiment urgent pour moi.
Voilà un extrait du code :
switch (ntheme) {
case 0 :
#include "as/Themes/theme1.as"
break;
case 1 :
#include "as/Themes/theme2.as"
break;
case 2 :
#include "as/Themes/theme3.as"
break;
case 3 :
#include "as/Themes/theme4.as"
break;
        ...
        ...
        ...
        ...
case 75 :
#include "as/Themes/theme74.as"
break;
}

Merci de me repondre très rapidement !
lundi 4 août 2008 à 23:08:10 | Re : Optimisation du code AS

fguitton

Membre Club
Bonjour,

Afin que la réponse fournie dans le message privé que j'ai envoyer puisse servir a tout le monde, je la post également ici.
Pour répondre donc à la question, un code comme celui-ci ne fonctionnera jamais et il est impossible d'écrire quoi que se soit permettant de faire fonctione quel code qu'il soit de ce genre.


Je m'explique:
#include n'est pas une méthode, mais une directive, cela signifie que son action n'est valable que lors de la compilation du code c'est a dire que la directive #include va copier le code du fichier cible et s'autoremplacer par cette copie.
Or ici il y a référence des une instance dynamique de type switch qui sa entrer en jeu lors de l'exécution du code cette fois-ci ( et si on suit le raisonnement à l'exécution du code include aura completment disparu depuis bien longtemps de la source de votre animation )

L'effet qui est donc recherché ne doit pas se coder de cette façon, il faudrais savoir exactement ce qui est recherché exactement pour fournir une réponse plus précise et surtout plus utile, moins informative uniquement.

@+
Bon Code
Florian
mardi 5 août 2008 à 11:20:13 | Re : Optimisation du code AS

Limack

Bonjour cher ami !

Comme tu l'as dit #include n'est pas une méthode, mais une directive, tout a fait OK. Mais en disant que ce code ne peut pas marcher ça m'étonne un peu dans la mésure où tout le contenu du AS est copié dans le FLA donc il cherchera simplement au moment de l'exécution la variable ntheme vérifiant la condition spécifiée et comme le code était déjà copié donc exécute ce bloc vérifiant la condition.
A moins que flash ait une limite dans le code, ou bien il faut pas dépasser un certain nombre de lignes dans le code, cela m'étonnerait puisque la mise en mémoire du code dépend normalement de la capacité de la MC du PC.
Sinon, j'avais déjà fait un truc du genre dans le passéc et ça marchait mais seulement que dans mon switch il y'a seulement 26 conditions. Mais quand j'ai augmenté le nombre de conditions qu'il a commencé à envoyer des erreurs de ce genre.
Il me semble que j'ai un problème d'optimisation.

Merci de me repondre !
mardi 5 août 2008 à 21:56:42 | Re : Optimisation du code AS

fguitton

Membre Club

Bonjour,

Alors autant pour moi, j'avais les yeux bien loin des trous hier soir pour écrire ca je pense.
Enfin pour les évtentuel visiteur, ce que j'ai dis reste vrai tout de même.
Oui donc je n'avais pas pris le problème dans le bon sens.
Alors suite aux multiple tests que j'ai fais, j'ai pu constater qu'il n'y avait aucun problème pour moi lors de la compression de l'animation. Néanmoins j'ai ajouté un paramètre switch de défaut vide :

default :
break;


Sans plus d'information je penserais que l'erreur est produite par une autre parti de ton code, d'un des fichier AS que tu charge ou encore tous simplement du manque de ressources de ton ordinateur pour compresser l'animation ( j'ai déjà vu de tel erreur se produire, malgré l'incongru de la chose ).

Excuse moi encore pour mon espèce de ratatinage et aussi pour le retard à répondre, je suis assez pris en ce moment.
Si tu evux tu pense m'envoyer comme je le disais tes fichiers source que je puisse regarder l'ensemble et voir ou est ce que cela clocherais. ( A l'adresse fournie dans mon préécdent message privé )

@+
Bon code
Florian

mercredi 6 août 2008 à 15:21:54 | Re : Optimisation du code AS

Limack

Non l'ordi que j'utilise est puissant, il n'a pas ce genre de problème !
Au fait j'ai parcouru tous les code AS, mais "aucune erreur détectée dans ce script".
Néanmoins j'ai touvé une solution qui ne marche toujours pas...
il m'envoie l'erreur suivante : (Cible introuvable : Cible="0" Base="_level0")
Ce que je constate est que si le ntheme choisi est compris entre 0 et 25 alors il charge le bloc "case" concerné en mémoire sans problème, mais quand le ntheme est > 26, problème. il prend tout son temps pour charger et m'envoie l'erreur (Cible introuvable : Cible="0" Base="_level0") et a la fin d'afficher lecontenu du bloc "case" concerné, il affiche "undefined".
C'est comme ci le temps imparti pour lire des lignes de code ne le suffit pas pour aller jusqu'au bout.
Je rappelle que je travaille sur une machine de 80Go de disque, MC : 1Go etc...
mercredi 6 août 2008 à 19:45:55 | Re : Optimisation du code AS

fguitton

Membre Club

Bonjour,

Alors pour l'erreur que tu obtiens, il s'agit souvent d'un retour provoqué par l'utilisation de la fonction tellTarget( Qui n'est plus adapté depuis la version 5 de Flash ).
Quand par exemple tu écris :

frame = int(loadedbytes/(totalbytes/100));
tellTarget (_root.loader) {
     gotoAndStop(_root.frame);
}

Quand il faudrait plutôt écrire :

frame = int(loadedbytes/(totalbytes/100));
loader.gotoAndStop(_root.frame);


En revanche je ne vois pas pourquoi il exécute très bien les actions de 0 à 25 et qu'ensuite il bloque.
As-tu définis un paramètre default dans ton switch ?
Tu dis que tu a vérifier le code, mais l'as tu exclusivement vérifié à la machine grâce au bouton "Vérifier la syntaxe" ou bien l'as tu vérifié également par toi même de ton propre chef ?( Car selon les versions de Flash, certaines erreurs passent à la trape dans certaines circonstances ).

Maintenant j'ai bien peur de ne pas voir d'où pourrai provenir le problème sans consulter le fichier.
Je vais réflechir au problème tout de même, peut-être que j'aurais un éclair.

@+
Bon Code
Florian

mercredi 6 août 2008 à 20:24:59 | Re : Optimisation du code AS

Limack

Oui je l'ai vérifié avec le bouton de flash "Vérifier la syntaxe".

Ce que j'ai fini pas comprendre, c'est qu'il n'arrive pas à lire tout le contenu du bloc "case" avant de passer. j'ai du couper mon switch en 2 donc la première se fait sur le calque1 (de 1 à 37) et la seconde sur le calque2 (de 38 à 75). Comme ça marche pour le moment en attendant de trouver une solution definitive.


Cette discussion est classée dans : code, case, include, break, themes


Répondre à ce message

Sujets en rapport avec ce message

variable & switch [ par ICIoBRa ] Salut a tousJ'ai le code suivant :variable1 = random(5) ;variable2 = 0.00 ;switch (variable1) { case 0: variable2 = 0.02 ; case 1: variable2 = 0.01 ; affichage de flash en fonction de l'url en cours [ par okostyle ] Bonjour à tous. Voici mon problème. Je suis en train de mettre en place un intranet.Cet intranet se compose de 6 modules différents. Un bandeau flash Flash et php... [ par __Nianiok_43___ ] Bonjour à tous. J'ai essayé ce tuto qui m'a vraiment plu: http://css.alsacreations.com/Tutoriels-PHP/Inclure-un-fichier-dans-un-autre addFrameScript-stop-bouton cliquable [ par ournik ] Bonsoir-bonjourTout d'abord l'adresse de mon site avec un swf Lien pour voir où ça cloche.Quand on clique sur les titres/liens en haut (parcours, phot code pour faire un retour en arriere [ par momoiom ] un débutant en programmation.Bonsoir,je fais un simple jeu de l'oie. quand mon pion arrive sur une case( exemple case 1), une nouvelle fenetre s'ouvre urgent [ par mariemmedia ] mediabonjourvoici un code pour symbole clip afin de déplacer   ballon avec clavier mais il ne travaille pas je ne sais pas ou est la faute .QUI PEUT M (Débutant) Clip qui suit un autre [ par flshnoob ] Bonjour, je suis complètement débutant en flash, Je vous explique ce que je voudrai avoir, j'ai mot qui est caché partiellement par des formes (ronde AS3-Optimiser un bout de code [ par Hansi07 ] Bonjour, Je débute avec beaucoup de mal en As3, pour l'instant tout fonctionne, mais c'est assez lent ! Je pense qu'il y a moyen d'optimiser mon code controle temporelle des videos dynamiques AS3 [ par aerial9 ] Salut à tous, je sollicite une nouvelle fois votre précieuse aide. J'ai besoin de faire avancer ou reculer la lecture d'une vidéo dynamique selon un é Fonction attente [ par dodo34 ] Bonjour à tous ! Je tente de faire une animation flash avec des défilements d'images, et un bouton pour passer à l'image suivante. J'aimerais cepend


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales