GESTION SIMPLIFIÉE DE FENÊTRES

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 7 nov. 2004 à 04:14
Herokill Messages postés 20 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005 - 31 déc. 2004 à 15: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/27399-gestion-simplifiee-de-fenetres

Herokill Messages postés 20 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005
31 déc. 2004 à 15:56
ok merci, je vais essayer de me débrouiller
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
31 déc. 2004 à 15:51
slt herokill.
je sais plus ou est passée l'originale, mais si je me souviens bien, j'avais mis une action de type onUnload dans la fenetre, pour réactiver le bouton.
sinon, je reprendrais la source après le nouvel an, histoire de la rendre un peu plus propre.

@+
Herokill Messages postés 20 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005
31 déc. 2004 à 15:37
slt,
j'ai remarqué un problem avec ta source, j'ai essayé de faire une nouvelle fenetre mais quand je la lance avec un rocher sa marche mais si je la ferme après je ne peus plus la rouvrir, le rocher ne marche plus alors qu'avec tes autres fanetres sa marche comme il le faut.
Merci de m'apporter ta solutions.
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
12 nov. 2004 à 11:02
Quelquesoit ?
Ca sousentend "toujours" !!!!

var quelqueSoit = true ;

if ( quelqueSoit ) faire ceci !

= ))

C'est nul !
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
11 nov. 2004 à 20:50
slt,
est-ce que l'expression mathématique "quelquesoit i" peut se traduire en actionscript ?

//--------------------------------
Mouse.addListener(_root);
_root.onMouseMove = function() {
switch (_root["window"+i].hitTest(_xmouse, _ymouse)) {
case true :
inactiveButton();
break;
case false :// default :
activeButton();
break;
}
}
//---------------------
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
11 nov. 2004 à 00:18
merci individi-bis,
je vais voir ça, mais avant, je vais essayer de trouver la soluce pour les zones délimitées par les fenetres.
individis-bis Messages postés 293 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 25 septembre 2008
10 nov. 2004 à 01:15
Si tu veux vérifier l'état ou les propriétés de même type d'objet utilise plutôt une boucle 'for in... typeof()'ça évitera la répétition de code... et c'est plus clair...
Imagine s'il y avait 50 boutons..?
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
10 nov. 2004 à 00:24
individubis, c'est ce que j'esseyait de faire. mais j'avoue que je galère.
ça c'est des essais, je test un peut de tout, ça permet de voir un peu comment ça marche
//--------------
stop();
h = 0;
windowsZone = ["empty"];
function incTabl() {
h++;
windowsZone.push("window"+h);
}
//initialisation de la variable "i" qui définit le niveau de chargement de fenetre.
i = 0;
//on crée la fonction window
function window() {
//incrémentation du niveau de chargement de la fenêtre
i++;
//on crée une occurrence ecm du clip cible (là top30 devrait reconnaître qq chose)
var ecm = _root.createEmptyMovieClip("window"+h, i);
//on ajoute le nom de la nouvelle fenêtre dans le tableau zone
incTabl();
//ça c'est juste pour recréer l'effet aléatoire des ouverture de fenêtres dans IE.
ecm._x = random(100)+20;
ecm._y = random(100)+50;
//on charge le fichier dans la fenêtre
loadMovie(url, ecm);
//on vérifie l'incrémentation en rapport au déplacement des fenêtres
trace("level = "+i);
trace("contenu du tableau : "+windowsZone);
}
function activeButton() {
_root.Bouton1.enabled = true;
_root.Bouton2.enabled = true;
_root.Bouton3.enabled = true;
}
function inactiveButton() {
_root.Bouton1.enabled = false;
_root.Bouton2.enabled = false;
_root.Bouton3.enabled = false;
}
//on crée le prorotype pour l'état des boutons de la scène au survol de la fenêtre
MovieClip.prototype.buttonState = function() {
this.onMouseMove = function() {
if (this.hitTest(_xmouse, _ymouse) == true) {
inactiveButton();
} else {
activeButton();
}
};
};
MovieClip.prototype.exitWindow = function() {
windowsZone.splice(this.order, 1, "empty");
trace("contenu du tableau : "+windowsZone);
};
//------------------------

le pb c'est que j'ai pas compris cette histoire de variables.

pour le bouquin, si y'a l'avale de top30, c'est que ça doit être de la bonne.

au fait top 30, à cause de toi, vas faloir que je me remettes à illustrator à cause de toi (mon logo ;) ).

je me rappelles avoir dit à mafassure :"pas facile de communiquer sur un forum". C vrai, et puisqu'on est dans les citation : "éloquence, persuade en roi non en tyran" (pascal, toujours les pensées). en fait top30, j'ai parfaitement compris ce que tu disais, j'ai juste du mal exprimer le pourquoi du comment des choses sur le forum.

laisson faire le temps.

bon à plus les gars, je vais décortiquer le code de top30.
individis-bis Messages postés 293 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 25 septembre 2008
9 nov. 2004 à 23:23
Ya surement plus simple, et aussi pour ce que je vais dire, mais pas envie de me pencher sur le problême.
Bref, pourquoi pas un truc du genre:
Stocker les url, indices de tes fenetres par un push dans un tableau au fur et a mesure de leur création (en plus, ca donne la possibilité de mémoriser leur position avec leur caractéristiques et propriétés, contenu etc...) et les supprimer du tableau au fur et a mesure qu'elle sont fermées..?
Ensuite un delete ou une mise à (0) de la propriété length du tableau dès que la dernière fenêtre est fermée (Vérifiable aussi avec le .length du tableau).
J'ai peut être pas compris ce que tu demandais, alors excuse m'en, je suis trèèèèès fatigué...

Il semble qu'il manque un bout de ton code dans ce que tu nous montres...
Je cite :
désactivés"); <---???
--------------
et:
}
}; <----
}; <---- Ne pas abuser de la mise en forme automatique du code dans l'éditeur ;-)
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
9 nov. 2004 à 23:22
Entièrement d'accord..
Et vivement qu'il nous traduise le deuxième tome... Sir Colin Moock.

J avais lu aussi "Flash MX" aux édtions MacromediaPress, c'est beaucoup moins bien que "la Référence" mais plus accessible pour débutant ( Moi comme un con je l'ai lu apres !!! )...

Et l'autre truc à lire, c'est l'aide de Flash.. Je crois bien qu'au total, je l'ai lu 3 fois !... Puis une fois qu'on comprend le language AS, faut comprendre sa logique...

Et mon commentaire n'était pas "inutile" et "incertaine" (cf Pascal "Les pensées" ), mais "constructif" et "imcompris" ( Cf Top30, Désirs & Dégoûts, éditions "DieuExistePasIlmeLaDit );
individis-bis Messages postés 293 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 25 septembre 2008
9 nov. 2004 à 23:02
Ce que j'aime avec Top30 c'est qu'il ne fait pas dans la demie mesure...
Si tu ne le comprend pas, il te pond quelque chose que t'es obligé de comprendre, et mieux que si tu avais fait semblant de comprendre.
On peut pas dire qu'il n'amène pas d'eau au moulin.

Le meilleur des tuto n'existe qu'envers celui qui veut le comprendre (c pas de pascal, c moi et c nul d'accord mais... moi aussi je suis fatigué ce soir) vient de me filer 6 heures de cours avec des stagiaires complêtement nuls... Ca tue, et apprend l'intolérance, un comble...

Sincèrement investir 55$ dans 'actionScript la référence' pondu par colin moock c'est le meilleur des investissement et gain de temps. C'est mon avis.
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
9 nov. 2004 à 22:29
Bon comme tu as pas comprismon comment... Un dessin vaut mieux qu'un long discours...

http://www.chopper.fr/hopeMultimedias/BananaWindow.zip

Logo retouché ( fallait que je change d'air du boulot que j etais en train de faire ) et VRAIE GESTION SIMPLIFIEE de fenetre...

A plus et soit plus... Tolérant !
Je repète je casse pas pour casser ( ou sauf les cons mais je les avertis avant ! )....
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
9 nov. 2004 à 22:18
d'accord avec individis-bis
faut etre méthodique et cohérent, surtout si ton script devien public...
quant t'as 10 lignes tu peux survivre, si t'en à 3 fois plus t'as plus de cheveux ;-)
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
9 nov. 2004 à 17:51
individis-bis,
je crois que je viens de comprendre ton 1er post,
j'ai remplacé i 1+_root.i++; par j 1+_root.i++;

(c'était ça ?)
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
9 nov. 2004 à 11:43
individis-bis,
voilà le genre de critiques que j'attends, c'est ça qui va me faire progresser.

j'étais persuadé que l'url ne pouvait pas contenir de variable seule ; et des trucs tous cons que pas mal de débutants ignorent y'en à plein comme ça, c'est pour ça que les comms sont importants. (bien sur si C nul à chier, faut le dire aussi...).

faut pas croire, j'aime bien top30, et il le sait, mais sa critique était "inutile et incertaine" (conf Pascal, les pensées)

pour ton premier post, j'ai rien capté. je pensais que déclarer le variables sur la timeline le faisait en global, et que elles étaient automatiquement lues en local par la suite. si tu connais un tuto sur le net sur ce sujet? ça serait cool.

autre question, au sujet du proto pour désactiver les boutons de la scène. (je cherche juste une piste du genre :"tu devrais chercher ds telle ou teels direction..."

voilà, j'ai çà :

MovieClip.prototype.buttonState = function() {
this.onMouseMove = function() {
if (this.hitTest(_xmouse, _ymouse) == true) {
inactiveButton();
désactivés");
} else {
activeButton();
}
};
};

le pb, c'est que il faut que je puisse ajouter les surfaces des fenètres ou les soustraire, et déclarer cette suface à la place du this.
et il faut que je suprime le proto qd toutes les fenetres sont fermées. donc si vous pouvez m'indiquer une piste de travail, merci d'avance...
individis-bis Messages postés 293 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 25 septembre 2008
8 nov. 2004 à 22:20
J'avais pas tout vu...
4 lignes de codes 2 incohérences...
pourquoi ceci..?
loadMovie(""+url, ecm);
a quoi servent tes ""
Rien +url = url non..?
alors
loadMovie(url, ecm);
suffit largement...
individis-bis Messages postés 293 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 25 septembre 2008
8 nov. 2004 à 22:12
i= qq chose... par ici, et...
var ecm = autre chose... par là...
Si tu déclares tes variables en local, fait le partout...
Pense effectivement aux portées de variables, mais soit stricte avec toi même et homogène dans ton code....
Heureusement que ascript est cool, c++ et quasiment tous les autres langages t'aurais jeté sans problême...
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
8 nov. 2004 à 15:23
bon faut aussi être honnete, et reconnaître que var nom, ça servait à rien (j'a planté parceque j'avais un loadVariablesNum/ ...post avec un "level", au lieu d'un loadVariables/ ...post avec un "this".)

qd au reste, je persiste et signe, c'est pas une gestion de popup, c'est une gestion de fenêtres (c'est ds le titre) et c'est en rapport avec les contraintes du taf du moment. donc libre à vous de balancer un attachMovie comme l'a dit top30.

pour couper court, libre à vous de :
rendre la fenêtre redimensionable, de la créer en action script, d'en faire des popups, d'y mettre des slide bars, de la faire trembler, etc...
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
7 nov. 2004 à 20:45
j'aurais du mettre "window" au lieu de "popup"
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
7 nov. 2004 à 20:40
slt top30
là je pense que t'as critiqué pour critiquer.

tu as très bien vu pourquoi j'avais mis "var url "et "var nom". Dans mon cas, il est plus rapide et interressant de faire comme ça, donc je ne changerais pas cette partie de la source.

j'aurais préféré que tu me dises quelles sont les erreurs que t'as repérées ds le code que je les corriges

@+ et bon code

ps : si tu as une piste à me donner pour que je puisse désactiver d'un coup tous les boutons de _root , je suis pas sur que ce soit possible par un prototype sous MX sans tous les nommer.
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
7 nov. 2004 à 19:06
Je voudrais pas être méchant, mais là y a qund même des couilles BALAISES !!!!

Je suis pas pour la critique facile, mais faut pas donner non plus l'occasion d en faire....

Tes boutons verts :
on (press) {
var url = "popup_01.swf";
var nom = "nom01";
popup();
}
et pourquoi pas ?
on (press) {
popup ( "01" );
}
Sachant que la generationdu nom sera faite par la fonction "popup" et que dans les trois cas c'est la même. On parles bien de ton exemple, et non du fait que cela pourrait être un nom de fichier complement distinct. ce qui perdrais le sens des popups.

Autre, tu créer un SWF par popup ???? Mais si t'en as besoin de 100 ? C est 3 fois le mème fichier !!!!
je sais je sais, tu vas dire :
"oui mais c est un exemple, normalement dans la fenêtre les fichiers sont différents.. La la fenetre est vide !!!"...
Ben ok !!! Alors pourquoi pas tu "attaches" pas une nouvelle instance de "fenêtre", et DANS LA FENETRE TU CHARGES LE CONTENU QUE TU AS BESOIN ?

Ben voilà.. Tu remarqueras que encore une fois, bien souvent le problème n'est pas le niveau de connaissance de Flash, mais une simple facon devoire la solution à un problème...
Et avec Flash c'est simple... Si je repete plus de quelque chose au moins une seconde fois, c'est que je peux FACILEMENT améliorer ...

[04/10] Désolé !
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
7 nov. 2004 à 12:13
pegase, pour le 12fps, je suis pas d'accord, mais pour updateAfterEvent, c'est juste !

le PB, c'est qu'on ne pense pas tjrs à le faire, par rapport à la puissance des ordis sur lesquels on travaille.
pour ma part, je vais monter un becanne basée sur un pII 600 en réseau, pour vérifier mes anims, et je vais probablement y coller un modem 56K.

on ne peut pas faire l'impasse sur ces configs, sous pretexte que de plus en plus de monde à l'ADSL, ça serait du suicide professionel...
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
7 nov. 2004 à 04:14
sympa .. mais encore une fois : Apprend à mettre ton anim en plus de 12 images/sec, bon sang !!!! :(
On a l'impression que l'ordi rame comme un veau pour déplacer une petite fenêtre de rien du tout ...

C'est tout de même pô dur ça !

ou alors colle un "UpdateAfterEvent" dans un coin pour fluidifier ça ... ça prend pas de temps CPU et à toi non plus !