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 :

[FLASH 8] setInterval


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de charlix
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 285
    Par défaut [FLASH 8] setInterval
    bonjour,

    j'ai un probleme sur une fonction qui écrit dans un texte dynamique. J pense que le probleme vient du setInterval mais je ne sais pas coment le résoudre.

    Lorsque je survole un bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    on(rollOver) {
    	montexte = new String("toutes mes photos....");
    	lancer = setInterval(telex, 50);
    }
    bon jusque la tou fonctionne ca lance la fonction telex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    i = 0;
    function telex() {
    	i++;
    	texte = montexte.substring(0, i)+"_";
    	if (i>=montexte.length) {
    		clearInterval(lancer);
    		texte = montexte.substring(0, montexte.length);
     
    	}
    }
    Mais si l'utilisateur bouge la souris plein de fois sur le bouton, alors la vitesse de défilement du texte va de plus en plus vite donc le setInterval se sert plus je pense.

    Si quelqu'un a une idée, elle est la bien venue.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Par défaut
    Utilise une varaible supplémentaire, comme cela tu passe une fois sur ton rollover et après si tu bouge et repasse dessus, cela ne change plus rien. Tu remets la variable à sa valeur initiale après un rollout.

  3. #3
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par défaut
    Salut

    Peut etre qu'en modifiant ainssi ton code cela pourrait résoudre ton problème ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //var lancer:Number=new Number(0);
    lancer=0;
    
    on(rollOver) {
    	montexte = new String("toutes mes photos....");
    	if( lancer == 0 )
    		lancer = setInterval(telex, 50);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    i = 0;
    function telex() {
    	i++;
    	texte = montexte.substring(0, i)+"_";
    	if (i>=montexte.length) {
    		clearInterval(lancer);
    		lancer=0;
    		texte = montexte.substring(0, montexte.length);
    		
    	}
    }
    PS :

  4. #4
    Membre éclairé Avatar de charlix
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 285
    Par défaut
    ouai ça marche quand même mieux, l'utilisateur a le droit d'etre idiot maintenant.
    J'était borné sur ma variable i.

    Mais juste un petit truc, quelle est la différenre entre écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var lancer:Number=new Number(0);
    et :

    tu m'as dit de mettre la 1ere solution mais j'ai essayé d'abord avec l'autre, et en faite les deux marche bien , donc est-ce qu'il y a vraiment une différence entre les deux écritures ?

  5. #5
    Membre éclairé Avatar de charlix
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 285
    Par défaut
    merci pour votre aide sur ce probleme mais si c'était le seul !!!!!

  6. #6
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var lancer:Number=new Number(0);
    var,new sont des mots clefs.
    :Number est le typage fort. On oblige la variable a etre un nombre
    Number() est le constructeur. Il construit un nombre. Ici, nous l'avons initialisé a 0.
    Ce code est equivalent a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var lancer;// ici nous ne savons pas encore le type de la variable (Number,String, Boolean etc..).
    var lancer:Number;//ici on déclare (prevoie) une variable de type nombre
    var lancer=Number();//ici on declare et on construit une variable de type nombre
    Le fait d'écrire lancer=0 sans déclaration ... c'est sale!!! Mais surtout c'est pas conforme au norme.
    Tu me dira "oui mais ca marche alors..." et moi je te repondrais : ca marche par ce que Flash le déclare pour toi ... et flash n'interprete pas le typage fort donc tu peu ne pas utiliser :Number aussi.
    Par contre, le reste(var et Number() je te le conseil. Car ca te permet d'etre plus construit, plus claire.... mais bon fais comme tu veux. Moi je vais pas faire de polimique sur l'utilisation ou non du typage fort.

    Le fais d'écrire ainssi te permet une meileur exportation de ton code... (du code écrit en actionscript qui devien du code javascript sans rien toucher c' cool non ?)

  7. #7
    Membre éclairé Avatar de charlix
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 285
    Par défaut
    merci pour les explications, bon c vrai que je cherche directement la facilité avant tout, mais maintenant que je le sais ça ne mange pas de pain d'écrire quelque mots de code supplémentaires. Je n'avais pas encore vu ce style d'écriture pour l'initialisation des variables.

    d'ailleurs je me suis renouveler pour mon nouveau probleme cette fois ci avec la classe tween.

    PS: j'ai utilisé ce nouveau style d'écriture pour les tweens mais pas encore partout, mais je vais changer tout ca.

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

Discussions similaires

  1. [FLASH 8] setInterval persistant
    Par nounetmasque dans le forum Flash
    Réponses: 3
    Dernier message: 21/09/2007, 16h02
  2. [FLASH MX2004] setInterval & Date.getMilliseconds()
    Par solarishp dans le forum Flash
    Réponses: 4
    Dernier message: 08/12/2006, 01h16
  3. [FLASH 8] setinterval();
    Par Destiny dans le forum Flash
    Réponses: 2
    Dernier message: 20/12/2005, 08h19
  4. [FLASH MX] pb setInterval
    Par chocobos dans le forum Flash
    Réponses: 5
    Dernier message: 24/08/2005, 16h42
  5. [flash MX] probleme avec setinterval et clearinterval
    Par yacinechaouche dans le forum Flash
    Réponses: 3
    Dernier message: 15/04/2004, 12h07

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