IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Rendre visible des clips en cliquant sur d'autres clips avec la boucle For [8]


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Par défaut Rendre visible des clips en cliquant sur d'autres clips avec la boucle For
    Bonjour,

    Après avoir potassé les tutos sur l'AS2 pendant 1 mois, me voilà entrain d'essayer de faire des petits exos ludiques sur flash.
    Mon souci est que je n'arrive pas à rendre visible des noms(clip1 à clip6) d'objets figés sur un schéma en survolant des cadres(cadres1 à cadres6) avec l'instruction FOR. Alors qu'en faisant un copier/coller pour chaque clip, le tous fonctionne. Ci-dessus, mon code et merci pour vos réponses.

    function nom() {
    for (var i = 1; i<=6; i++) {
    _root['cadres'+i]._alpha = 0;
    _root['nom'+i]._visible = false;
    _root['cadres'+i].onRollOver = function() {
    _root['nom'+i]._visible = true;
    };
    _root['cadres'+i].onRollOut = function() {
    _root['nom'+i]._visible = false;
    };
    }
    }
    nom();

    Après un test j'ai l'impression que le problème vient des lignes _root['nom'+i]._visible = true; qui ne sont pas reconnues.

  2. #2
    Membre expérimenté Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Par défaut
    bonjour
    j'ai abandonné as2 depuis quelque moment, mais j'ai un doute.

    tu dis
    _root['cadres'+i].onRollOver = function() {
    _root['nom'+i]._visible = true;
    };
    alors je pense que si ton objet est invisible tu ne peux avoir de rollOver. si il est invisible je pense qu'il n'y a plus d'action mouse possible. invisible serait plustot = a disparut.

    je pense que si tu lui n'est un alpha a 0.01 il sera pas visible mais gardera les ecouteurs mouse.
    voila ou je vais regarder pointer les recherches.

    @+gustave02

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Par défaut
    Bonjour Gustave02, merci pour ta réponse.

    En effet j'y avais pensé, mais rien y fait. En fait si j'écris cela à la place, tous marche bien :

    function nom() {
    for (var i = 1; i<=6; i++) {
    _root['cadres'+i]._alpha = 0;
    _root['nom'+i]._visible = false;
    }
    }
    nom();
    cadres1 .onRollOver = function() {
    nom1._visible = true;
    };


    ainsi de suite pour les six fonctions en gras, ce qui prouves que les écouteurs mousses des cadres ne sont pas invisibles avec alpha = 0, non ?.
    Mais j'aimerais vraiment comprendre l'autre architecture pour diminuer mes lignes.

    De plus avec la fonction onRollover dans la boucle for, en passant la souris sur le cadre invisible(alpha=0), la petite main apparaît bien .

    j'ai essayé de voir si ce n'étais pas un problème de _parent, mais je n'y arrive pas.

    Merci.

  4. #4
    Membre expérimenté Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Par défaut
    bingo
    tu as raison j'ai taper a coté la premiere fois

    la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function nom() {
    	for (var i = 1; i<=6; i++) {
    		_root['cadre'+i]._alpha = 0;
    		_root['nom'+i]._visible = false;
    		this['cadre'+i].onRollOver = function() {
    				_root["nom"+this._name.substr(5,1)]._visible = true;
    		}
    		_root['cadre'+i].onRollOut = function() {
    			    _root["nom"+this._name.substr(5,1)]._visible = false;
    		}
    	}
    }
    nom();

  5. #5
    Membre expérimenté Avatar de gustave02
    Homme Profil pro
    aucune
    Inscrit en
    Février 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2013
    Messages : 162
    Par défaut
    j'explique

    au moment ou on fait la fonction dans ton exemple
    _root['nom'+i]._visible = false; // i = undefine
    donc on demande a nomundefine._visible = false; et la ca donne rien.


    _root["nom"+this._name.substr(5,1)]._visible = false;// this._name.substr(5,1) == si c'est cadre1 le résultat et 1

    on est en as2 et pas en as3 pour les personnes qui lisent ultérieurement ce post.
    @+gustave02

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Par défaut
    Youpi, un gros merci à toi

    tous fonctionnes comme sur des roulettes à quelques correction près, substr(6, 1) et non substr(5,1)
    je ne la connaissait pas cette variable, encore merci

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer des boutons en cliquant sur un autre bouton
    Par alaskabender dans le forum Débuter
    Réponses: 11
    Dernier message: 27/11/2014, 19h50
  2. Comment attacher un clip de classe sur un autre clip de classe
    Par ar vuzhugenn dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 05/01/2008, 23h02
  3. Rendre visible des contrôles sur un Form ayant des zones transparentes
    Par ProgElecT dans le forum Vos contributions VB6
    Réponses: 8
    Dernier message: 20/09/2007, 19h25
  4. [PHP-JS] ajouter des champ en cliquant sur un bouton?
    Par einsteineuzzz dans le forum Langage
    Réponses: 3
    Dernier message: 29/06/2006, 17h36
  5. rendre visible des champs de texte
    Par lnikolanta dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 16/09/2005, 18h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo