MENU TROP GOURMAND EN RESSOURCES (TWEEN & DÉTECTION SOURIS)

cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009 - 14 nov. 2005 à 12:00
xeonarno Messages postés 21 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 20 août 2006 - 27 févr. 2007 à 19:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34627-menu-trop-gourmand-en-ressources-tween-detection-souris

xeonarno Messages postés 21 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 20 août 2006
27 févr. 2007 à 19:56
Bonjour à tous,

J'ai lu vos remarques. Pour résumer, il semble que bali_balo est envie de nous faire partager beaucoup de choses.

Pour ceux qui voudrait de l'aide sur les tweens :

www.developpez.org --> rechercher : Tween flash

Ils ont eu la bonne idée de nous donner de l'aide.

Pour simple remarque : ne plus utilisé on(press) mais uniquement onPress = function (){}
Par contre essayez d'utilisé plutôt onRelease qui correspond plus à un réflexe humain que onPress.

Ton idée de départ SlimFast me parait un peu bourine et peut être aurait été interessant que tu t'intéresse au algorythme de de grossissement des menus sur Mac OS X. Je crois que quelqu'un l'a fait sur ce site. Ils t'économiseront bcp d'heures de travail.
En ce qui concerne le changement de couleur, essaye de privilégié la piste graphique plutot que prog. Plus simple actuellement et assez bien optimisé.

Je sais que je n'apporte pas de vrai réponse mais je pense que certaines de ces pistes pourront t'aider à améliorer ce charmant petit menu.

Bon courage,

Xeonarno
poplin Messages postés 12 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 16 décembre 2005
16 déc. 2005 à 21:20
cool merci de ta réponse je vais tester tout ça ! :-)))
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
16 déc. 2005 à 19:36
Tu mets dans les gestionnaire on(press) des boutons ( ou bien même onPress = function() {...}

le getUrl() que tu connais..et puis c tout!!!

bali_balo....=]
poplin Messages postés 12 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 16 décembre 2005
16 déc. 2005 à 19:34
oui je connais bien cette fonction :-) mais j'aurai aimé comprendre dans l'exemple de se menu, que je trouve vraiment très sympa, car je trouve rien dans le code qui en parle j'ai bien essayer par mes propres moyen mais impossible de la faire marché est ce qu'il faut la mettre dans le fichier menu3.as si oui où, ou alors dans le fichier flash et si oui ou
merci beaucoup par avance !
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
16 déc. 2005 à 16:39
utilise la fonction getUrl();

(voir l'aide de flash touche F1 )
poplin Messages postés 12 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 16 décembre 2005
16 déc. 2005 à 15:58
une question d'un novice, comment fais-tu pour mettre un lien sur les boutons pour appeler une autre page ?
soyez indulgent dans votre réponse ;-))
merci !
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
9 déc. 2005 à 13:48
en effet c'est corriger (en partie : ligne 56..)

Sepy est un super éditeur de code en effet....
slimflash Messages postés 23 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 22 septembre 2011
9 déc. 2005 à 13:38
en effet, la fonction de delay est comprise dans une class qui a été rédigée par top30 il me semble... tres utile. J'ai gardé les fichiers qui sont dans un dossier "Tools". Il est vrai qu'ici je ne l'utilise pas, j'avais oublié de l'enlever. Idem pour le loader ! donc, effacer :
/*
import Tools.Delay
Loader = new Tools.myLoader (indicateurParDefaut );
*/

As-tu regardé la nouvelle source (version 3 à télécharger, je n'ai pas copié le code dans les messages) ? car à part déclarer les tween comme ça : Tween = new Tween (bt1, "_y", Regular.easeOut, bt1._y, 100, 1, true); je ne voit pas trop comment procéder... je cale donc... merci d'en dire + ;)

Pour ce qui est de faire des fichiers .as externes, je trouve celà plutôt pratique car j'utilise Sepy et la rédaction est bcp + claire et je le met plein écran plutôt que d'avoir à jouer des fenêtres sous flash (je suis designer et je dois donc avoir bcp de palettes ouvertes à la fois). Je vois donc très bien l'ensemble du code.
Autre avantage : on peut aussi faire des fichiers .as différents si on veux classer les différents types d'actions. Ainsi, qd je fais un site, je fais un .as pour l'interface, un autre pour les anims. Rien n'empêche de faire appel au code des 2 fichiers pour ne pas dupliquer, il faut juste bien cibler avec un _root.

Voilou... et merci pour les feed-back :)
-Slim Flash-
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
9 déc. 2005 à 12:57
Simplifier l'ecriture :
Tween = new Tween (bt1, "_y", Regular.easeOut, bt1._y, 100, 1, true);
Cf mon premier commentaire


Ne fait référence a rien dans ton exemple !!! ???
import Tools.Delay
Loader = new Tools.myLoader (indicateurParDefaut );



Le code est de plus en plus propre et clair?

PS : le code dans une .as n'apporte rien, bien au contraire ca complique la tache
-> 2 fichiers alors qu'un seul est suffisant dans ce cas

A+
slimflash Messages postés 23 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 22 septembre 2011
9 déc. 2005 à 08:35
Ah, ben ça fait plaisir, pour une fois que j'apporte qq chose dans un domaine qui n'est pas vraiment mon fort (la prog). C'est vrai que toi bali balo, depuis que j'ai commencé à utiliser les tweens et autres classes, j'ai complètement revu ma façon de réaliser un site ! C'est bcp + fluide, ça prend en compte les positions de chaque clip à chaque frame... Bref, c'est puissant !

Bon, par contre une note pour une source tout de même intéressante.... allez-y, notez moi !!
Pour vous convaincre de l'utilité des tweens, regardez l'exemple que j'ai mis en ligne en flash8 : http://test.richardeau.net/menu/
ca me permet de gérer l'ombre, son intensité et sa taille en fonction du papillon qui vole. Faîtes le test de passer du bouton services à bio... vous verez les changements du papillon !

Allez, maintenant, j'aimerai bien avoir d'autres tuto sur les classes...
A+
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
8 déc. 2005 à 15:35
MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI
oooooohhhhhhhhhhhhhhhhhhhhhhhh MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI

J'ai commencé qq projet flash en utilisant les Tweens par programmation............. P----N que c'est PUISSANT!!!!!!!!!!!!!!!!

JE M'EN REMET PLUS!!!!!!!!!!!!!


MERCI MERCI SlimFlash de NOUS avoir fait découvrir ceci...
Maintenant, je vais décortiqué comme u nmalade les classes de Flash!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI



bali_balo.... =]
(eh bien le voila l'intéret... =) )
slimflash Messages postés 23 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 22 septembre 2011
22 nov. 2005 à 01:20
Je viens de mettre à jour la source... voir commentaire en haut de page.
N'hésitez pas à voir le test que j'ai commencé à developper en flash8 :
http://test.richardeau.net/menu/
Et notez maintenant que c'est optimisé :)
-SlimFlash-
zoukozouko Messages postés 148 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 21 janvier 2009
21 nov. 2005 à 20:55
bon, b tu m'avais fait peur. Mes clients sont si pointilleux, que je jalousais les tiens.
Mais maintenant j'ai bien compris.
en tout cas je trouve cett source tres interessante. Elle met en avant des classes que je n'avais pas encore vues.
Merci et bravo.
7/10
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
21 nov. 2005 à 19:50
Je n'ai SUREMENT pas dit que je ne m'était pas d'AS dans mes fichiers...
Au contraire, ce que je "critique" ( je l'ai mis entre guillemets... ) c'est que la première source qu'il avait se faisait en "3 / 4 " de secondes, c'est tou, avec UN PEU d'interpolation, et BEAUCOUP de code...
C'est mieux là...?
( en + chui un fou de l'optimisation, mm si c pour gagné une ligne de code... )
Surtout qu'en plus je suis à l'origine développeur et non infographiste ou autre...Je fait énormément de poo, d'études d'algo complexe, etc.



En gros, ce que je voulais dire...c'est que jamais je n'aurais été capable de faire un si gros tas de code pour un si simple résultat...




C'est juste que au fil du temps, avec les demandes précentes de certain clients....j'ai perdu plaisir à faire du code compliquer... =]
Et à ne faire que du beau pour le plaisir des yeux du clients :)...
Y sen fou lui de savoir lalgo derrière, + c beau, mieux c'est!!!

Alors arrêté tous de dire que je critique la source ou que je ne voit pas l'intéret de la source. Si je la vois, j'ai vu bon nombre d'application avec les Tweens...Mais c'est juste pour le plaisir =]
Je vais même m'y mettre bientôt!!!

Même si je ne voit pas trop l'intéret ici présent, essayer de comprendre met raison au moins...Sa serait sympa, au lieu de m'enfoncer...

Salut et bon courage à tous...

bali_balo.... =]
zoukozouko Messages postés 148 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 21 janvier 2009
21 nov. 2005 à 19:31
bali_balo, tu pretends avoir fait beaucoup de projet flash...
J'ai de serieu doutes sur tes compétences et les résultats obtenu.
Il est aujourd'hui impossible pour une boite d'infographie qui se respecte de présenter un projet flash sans AS.
Et si tu y es parvenu, tout ne doit pas voler bien haut, avec de simples et uniques interpolations...
Enfin, bon courage pour la suite...

http://uejfbx.free.fr ----> To be continued...
slimflash Messages postés 23 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 22 septembre 2011
17 nov. 2005 à 16:36
bon, voici la nouvelle source..... qui ne bouffe plus de ressources (ou sauf pdt les tween seulement). Plus besoin de détecteur d'angle de souris, je déclenche les déplacements du menu avec les coordonnées _x de la souris en utilisant this.onEnterFrame et en appelant une fonction "menuOpenClose()" plutôt que de de mettre les 11 lignes dans le onEnterFrame = function(). Je sais pas si c'est ça, mais le menu n'est plus gourmand comme avant, et les déplacements sont hyper fluides :)
C'est hyper léger, y'a que 4 boutons à créer (bt1, bt2, bt3, bt4) et on peut utiliser du xml avec la boucle qui gère les actions des 4 boutons... à voir pour + tard, utilise si on doit développer un site en pls langues par exemples.
Y'a encore des choses à optimiser : le changement des couleurs des boutons lors du clic. J'ai pas eu le temps de m'y pencher, la solution est sans doute dans la boucle des 4 boutons... mais je met en ligne car le taf m'apelle encore.

Merci encore à BananaTree et aux autres pour votre aide...
N'hésitez pas à améliorer :)
A+
-SlimFlash-

//-----------------------------------
// importation de la class du loader, des effets de mvt de retardement
Loader = new Tools.myLoader (indicateurParDefaut );
import mx.transitions.Tween;
import mx.transitions.easing. *;
import Tools.Delay
//////////////////////////////
////////////////////////////////////////////
// déplacement des bt en fct de la souris
var tweenBtn_1 : Tween = new Tween (bt1, "_y", mx.transitions.easing.Regular.easeOut, bt1._y, 100, 1, true);
var tweenBtn_2 : Tween = new Tween (bt2, "_y", mx.transitions.easing.Regular.easeOut, bt2._y, 130, 1, true);
var tweenBtn_3 : Tween = new Tween (bt3, "_y", mx.transitions.easing.Regular.easeOut, bt3._y, 160, 1, true);
var tweenBtn_4 : Tween = new Tween (bt4, "_y", mx.transitions.easing.Regular.easeOut, bt4._y, 190, 1, true);

// avant :
//this.onMouseMove = function (){
// pas convaincant avec onMouseMove : ça saccade !! j'utilise donc onEnterFrame

// maintenant :
this.onEnterFrame = function(){
menuOpenClose();
}
function menuOpenClose(){
if(_root._xmouse<= 200){
tweenBtn_1.continueTo (100, 1);
tweenBtn_2.continueTo (130, 1);
tweenBtn_3.continueTo (160, 1);
tweenBtn_4.continueTo (190, 1);
} else {
tweenBtn_1.continueTo (50, 1);
tweenBtn_2.continueTo (60, 1);
tweenBtn_3.continueTo (70, 1);
tweenBtn_4.continueTo (80, 1);
}
}


/////////////////////////////////////////////////////////////////
//fct pour les couleurs des boutons lors du clic :
// je send que y'en a qui vont crier : on peut optimiser... G pas eu encore le temps de me //pencher sur la question ;)

var btn1 =bt1.txt;
couleurBt1 = new Color(btn1);
couleurBt1.setRGB(0x999999);
var btn2 =bt2.txt;
couleurBt2 = new Color(btn2);
couleurBt2.setRGB(0x999999);
var btn3 =bt3.txt;
couleurBt3 = new Color(btn3);
couleurBt3.setRGB(0x999999);
var btn4 =bt4.txt;
couleurBt4 = new Color(btn4);
couleurBt4.setRGB(0x999999);

function couleurBts(){
if (monBt=="bt1"){
couleurBt1 = new Color(btn1);
couleurBt1.setRGB(0x000000);
couleurBt2 = new Color(btn2);
couleurBt2.setRGB(0x999999);
couleurBt3 = new Color(btn3);
couleurBt3.setRGB(0x999999);
couleurBt4 = new Color(btn4);
couleurBt4.setRGB(0x999999);

}else if (monBt=="bt2"){
couleurBt1 = new Color(btn1);
couleurBt1.setRGB(0x999999);
couleurBt2 = new Color(btn2);
couleurBt2.setRGB(0x000000);
couleurBt3 = new Color(btn3);
couleurBt3.setRGB(0x999999);
couleurBt4 = new Color(btn4);
couleurBt4.setRGB(0x999999);

}else if (monBt=="bt3"){
couleurBt1 = new Color(btn1);
couleurBt1.setRGB(0x999999);
couleurBt2 = new Color(btn2);
couleurBt2.setRGB(0x999999);
couleurBt3 = new Color(btn3);
couleurBt3.setRGB(0x000000);
couleurBt4 = new Color(btn4);
couleurBt4.setRGB(0x999999);
}else if (monBt=="bt4"){
couleurBt1 = new Color(btn1);
couleurBt1.setRGB(0x999999);
couleurBt2 = new Color(btn2);
couleurBt2.setRGB(0x999999);
couleurBt3 = new Color(btn3);
couleurBt3.setRGB(0x999999);
couleurBt4 = new Color(btn4);
couleurBt4.setRGB(0x000000);
}
}
// 4 boutons: bt1, bt2.....
var curBouton;
for (var i = 1; i <= 4; i ++)
{
curBouton = this ["bt" + i];
curBouton.num = i;
this ["bt" + i].xScaleTween = new Tween (curBouton, "_xscale", mx.transitions.easing.Regular.easeOut, curBouton._xscale, 100, 0.5, true);
this ["bt" + i].yScaleTween = new Tween (curBouton, "_yscale", mx.transitions.easing.Regular.easeOut, curBouton._yscale, 100, 0.5, true);
curBouton.onRelease = function (){
trace (i); // affiche 5 pour tous les boutons -> donc pas bon
trace (this.num); // affiche la valeur de i au moment où le onRelease a été créé -> c'est bon :)
monBt = "bt" + this.num;
trace ("monBt : " + monBt);
couleurBts(); //changement de couleur du bouton
}
curBouton.onRollOver = function ()
{
this.xScaleTween.continueTo (150, 0.5);
this.yScaleTween.continueTo (150, 0.5);
}
curBouton.onRollOut = function ()
{
this.xScaleTween.continueTo (100, 0.5);
this.yScaleTween.continueTo (100, 0.5);
}
}
////////////////////////////
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
16 nov. 2005 à 19:34
C'est pas cela que je dis.

C'est juste que...Moi qui est télement habitué à réaliser des projets en flash ( c'est ------ de client qui te mettent la pression... ) en 3/4 de tours que...
C'est difficile pour moi d'y en voir l'intéret... =]
Voilà voilà, mais en tant que programmeur...oui, biensur que je voit l'intéret...Mais me fatiguer à la prog. juste pour obtenir ce résultat...sa peut fait plaisir au programmeur...

###C'est vous qui voyez###
###Yen a qui ont essayer###
###i zon eut des problèmes###
"Chevalier & Laspales" pour ceux qui ne connaissent pas...

bali_balo....
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
16 nov. 2005 à 19:29
BaliBalo, je comprend pas tes réactions !

sincerement Macromédia propose ces propre package pourquoi ne pas les utilisers ?!!
ensuite Top 30 propose gracieusement ca version des Tweens qui offre notament la possibilité d'interpoler les couleurs... que n'offre pas la tween native du package mx...

libre à toi de créer tes anim comme bon te semble mais vien pas crier des bêtises plus grosses que toi
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
16 nov. 2005 à 19:21
Si sa vous amuse de réécrire les fonctions intégrées à flash...
###C'est vous qui voyez###
###Yen a qui ont essayer###
###i zon eut des problèmes###


bali_balo.... =]
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
16 nov. 2005 à 19:13
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
16 nov. 2005 à 19:09
les class c'est depuis mx 2004.... tween bidules et autres.

sinon, y'a celle de top 30 -> peux aussi faire des interpolation de couleur :O) en plus y'a la doc dans le zip....
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
16 nov. 2005 à 18:16
euuhh sinon, c'est fait sous flash 8 non
Parce que la classe Tween avec mx2004....???? inconnue au bataillon... =]

bali_balo....
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
16 nov. 2005 à 13:53
bien d'accord, une source comme celle-ci faite avec des "interpolations (non codées en AS)" n'aurait pas grand intérêt, alors que là il y'a de quoi apprendre des trucs ... je repasserais voir ta mise à jour quand tu auras eu le temps de la faire.
et merci.
a+
(//)
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
16 nov. 2005 à 12:18
--> si je n'utilise pas d'interpolations (non codées en AS) <--

t'as bien raison l'inverse aurai aucun interet...

--> J'essaie d'apprendre de jour en jour...<--
bon courage ;O)
slimflash Messages postés 23 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 22 septembre 2011
16 nov. 2005 à 11:59
Merci pour tous vos commentaires... je n'ai pas pu m'y repencher, je suis sur une deadline ! Si je fais appel à votre aide, c'est que je ne suis pas programmeur à la base, mais plutôt designer... et donc mes compétences en la matières sont parfois limitées. J'essaie d'apprendre de jour en jour, mais quand il manque quelques bases, et que le boulot tombe en même temps, c'est pas facile de se plonger dans cet univers qui évolue sans cesse.
Aussi, je compte bien améliorer ce menu, et si je n'utilise pas d'interpolations (non codées en AS) c'est parce que j'aimerai y ajouter des sous-rubriques (sous-menus) et animer un clip en fonction des clics (un papillon qui vole pour tout vous dire). Dans ce cas, c'est bcp plus pratique d'utiliser des tween : les mouvements du papillon sont bcp + fluides et il peut changer de direction à n'importe quel endroit... idem pour les boutons du menu
J'avance un peu dans mon taf, et promis, je m'y remet, avec l'exemple du papilon en prime :)
Merci encore
-SlimFlash-
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
16 nov. 2005 à 11:44
Je te le refait super optimiser ta source...
Sa prend 2 minutes, j'lai déjà essayer...Freanchement, tu aurais pu passer par qq lignes de code, et u npeu d'interpolation...

bali_balo....
fredox33 Messages postés 1 Date d'inscription dimanche 15 août 2004 Statut Membre Dernière intervention 16 novembre 2005
16 nov. 2005 à 11:36
moi j'aime beaaucoup ce menu
il me prend 50% du proc pour 11660 ko de mémoire, je te souhaite une bonne optimisation

Frédéric
Loubiou Messages postés 150 Date d'inscription mercredi 26 juin 2002 Statut Membre Dernière intervention 5 décembre 2008
15 nov. 2005 à 03:25
Hello !!
Bon moi je trouve que ta source consomme seulement 45% !
Par contre pourquoi ne fait-tu pas une classe de cette façon :(javascrip.as)

_________________________________________________________________
class javascript
{
/*
* Ouvre un message d'alerte "Explorer" ;
* */
static function alert ( text :String )
:Void {
getURL("javascript:alert('" + text + "')");
}
}
_________________________________________________________________

Comme ça tu fait appel à la fonction ; comme suit :
javascript.alert("message d'alerte");

et plus besoin d'indiquer à flash de charger ta class !

Déjà ça va le faire, fait un essai en recodant toutes tes procédures dans ce format.
Puis plus besoin de faire un enterframe, tu passe juste une image sur la scène et zoo le tour est joué !
Bravo pour ta source qui est bien originale !!!!
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
14 nov. 2005 à 16:43
Tu aurais put faire ceci en AS et avec quelques interpolation, et le tour est joué!
( je dis ceci juste en voyant comment ton menu fonctionne...)
Je me demande pourquoi il y a des personnes qui se "cassent" la tête à faire du code alors que flash nous permet de détourner ce genre de casse tête...

Flash..................made for "les programmeurs paresseux"
=]

bali_balo....
slimflash Messages postés 23 Date d'inscription vendredi 12 mars 2004 Statut Membre Dernière intervention 22 septembre 2011
14 nov. 2005 à 12:53
En effet, je me doutais que le pblm venais de onEnterFrame, ca doit calculer à chaque frame, d'où l'intense utilisation des ressources...
Ce que je cherche à faire (-> merci bananaTree) c'est ranger le menu qd on est hors de la zone de navigation (délimitée ici par l'angle de la souris).
Je vais changer les positions car d'un point de vue ergonomie, c'est pas le top... Par contre, je comprends mieux comment procédé (je crois du moins :)) à chaque fois qu'une interpolation n'est pas finie, il faut utiliser "continuteTo()" , c'est ça ??
Sinon, je viens de tester avec ce nouveau code (merci encore BananaTree) mais ça saccade...
comment optimiser encore + ??
Merci
PS : C'est vrai que c'est vraiment galère que l'aide de flash soit + que sommaire !!! Sans parler des codes fournis qui sont parfois buggés!!!
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
14 nov. 2005 à 12:28
j'ai pas toup compris à ce que tu voulais faire, alors j'ai pas optimisé, je te mets juste le code pour décharger le processeur :

//-----------------------------------
// importation de la class du loader, des effets de mvt de retardement
Loader = new Tools.myLoader (indicateurParDefaut );
import mx.transitions.Tween;
import mx.transitions.easing. *;
import Tools.Delay
//////////////////////////////
////////////////////////////////////////////
// déplacement des bt en fct de la souris
var tweenBtn_1 : Tween = new Tween (bt1, "_y", mx.transitions.easing.Regular.easeOut, bt1._y, 100, 1, true);
var tweenBtn_2 : Tween = new Tween (bt2, "_y", mx.transitions.easing.Regular.easeOut, bt2._y, 130, 1.2, true);
var tweenBtn_3 : Tween = new Tween (bt3, "_y", mx.transitions.easing.Regular.easeOut, bt3._y, 160, 1.4, true);
var tweenBtn_4 : Tween = new Tween (bt4, "_y", mx.transitions.easing.Regular.easeOut, bt4._y, 190, 1.6, true);
this.onMouseMove = function ()
{
if (angleSouris.angle >= 90 & angleSouris.angle <= 180)
{
tweenBtn_1.continueTo (100, 1);
tweenBtn_2.continueTo (130, 1.2);
tweenBtn_3.continueTo (160, 1.4);
tweenBtn_4.continueTo (190, 1.6);
} else
{
tweenBtn_1.continueTo (50, 1);
tweenBtn_2.continueTo (60, 1.5);
tweenBtn_3.continueTo (70, 2);
tweenBtn_4.continueTo (80, 2.5);
}
}
/////////////////////////////////////////////////////////////////
// 4 boutons: bt1, bt2.....
var curBouton;
for (var i = 1; i <= 4; i ++)
{
curBouton = this ["bt" + i];
curBouton.num = i;
this ["bt" + i].xScaleTween = new Tween (curBouton, "_xscale", mx.transitions.easing.Regular.easeOut, curBouton._xscale, 100, 0.5, true);
this ["bt" + i].yScaleTween = new Tween (curBouton, "_yscale", mx.transitions.easing.Regular.easeOut, curBouton._yscale, 100, 0.5, true);
curBouton.onRelease = function ()
{
trace (i);
// affiche 5 pour tous les boutons
trace (this.num);
// affiche la valeur de i au moment où le onRelease a été créé
monBt = "bt" + this.num;
trace ("monBt : " + monBt);
}
curBouton.onRollOver = function ()
{
this.xScaleTween.continueTo (150, 0.5);
this.yScaleTween.continueTo (150, 0.5);
}
curBouton.onRollOut = function ()
{
this.xScaleTween.continueTo (100, 0.5);
this.yScaleTween.continueTo (100, 0.5);
}
}
////////////////////////////

le pb avec Tween, c qu'il n'y à personne chez macromedia qui à eu la bonne idée de la documenter ! ! ! ! ! ! !
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
14 nov. 2005 à 12:00
Salut

Si tu importe les packages pas besoin de réécrire les chemins de class dans chaque instance

Crée un proto pour les tweens

les tweens "onEnterFrame".... pas bien :O(

a+
Rejoignez-nous