Rechercher : dans
Par :

Flash bouton rollover

Dernière réponse le 4 avr 2009 à 07:29:31 chti_moon, le 15 avr 2008 à 11:31:14 
 Signaler ce message aux modérateurs

Bonjour,

J'essaye de faire défiler un texte contenu dans un textfield avec des boutons. Voici mon problème, lorsque je suis sur le bouton, mon texte défile mais 1 seule fois.
Voici mon code :

on (rollOver){
montexte.scroll -= 1;
}

on (rollOver){
montexte.scroll += 1;
}

Donc, quand je place ma souris sur un de mais bouton, mon texte subit une action (monte ou déscend) mais pas en continu, une seule fois. Il faut que je sorte du bouton et me replace dessus pour le faire bouger d'un "cran" encore

Je sais pas si j'ai été bien clair...

Merci

Configuration: Windows XP
Internet Explorer 7.0

1

glabok, le 15 avr 2008 à 11:38:47

Fait des recherche sur "les boucles" dans l'aide de ta version de flash (mes souvenir dirais bien while(), mais suivant ta version je ne te dirais rien de plus au risque de t'embrouiller)

Répondre à glabok

2

chti_moon, le 15 avr 2008 à 12:01:14

J'utilise flash CS3,
J'ai bien essayé de faire une boucle while mais je ne sais pas quoi mettre en condition
while (on (rollOver))
{
monTexte.scroll +=1;
}

Ca marche pas

Répondre à chti_moon

3

chti_moon, le 15 avr 2008 à 12:13:23

Ca y est, j'ai trouvé une solution!

Merci

Répondre à chti_moon

4

Net21, le 15 avr 2008 à 12:54:38

Postes toujours ta solution, elle pourrait servir à quelqu'un qui passerait par là ;)

Répondre à Net21

5

chti_moon, le 15 avr 2008 à 13:44:43

Action de mes boutons :

//Bouton poiur déscendre

on(rollOver){
    scrollDown = true;
}

on(rollOut){
    scrollDown = false;
}


//Bouton pour monter
on(rollOver){
    scrollUp = true;
}

on(rollOut){
    scrollUp = false;
}


Ensuite, dans mon calque :
this.onEnterFrame = function(){
	if(scrollUp){
		monTexte.scroll -= 1;
	}
	if(scrollDown){
		monTexte.scroll += 1;
	}
}


Par contre, le mouvement de 1 en 1 et trop rapide à mon goût, mais si je passe, par exemple 0.5, ça ne bouge plus... Alors si quelqu'un à une idée, je prend !

Répondre à chti_moon

6

glabok, le 16 avr 2008 à 11:02:41

Peut être idiot et chiant à faire (tu devra peut être refaire entièrement le site si c'est important dans ton site) pkoi pas diminuer la cadence du site (images/secondes) ?
Ca vas jouer assurément sur la rapidité de défilement de ton texte.

Répondre à glabok

7

Doggydok, le 16 avr 2008 à 14:17:37

Bonjour,

vas voir la fonction setInterval. Je l'ai utilisée pour le déplacement d'une carte. Avance normale en passant sur le bouton, avance rapide en cliquant sur le bouton.

Salutations

Répondre à Doggydok

8

chti_moon, le 24 avr 2008 à 13:51:37
  • +1

Finalement, j'ai opté pour la méthode suivante : simplement cliquer sur le bouton pour faire défiler, et là ça va, c'est pas trop rapide

Merci à tous ! :)

Répondre à chti_moon

9

asuma_san, le 30 jui 2008 à 20:53:28
  • +1

Bonjour;
Qu'est-ce que t'as changé dans le script?
STP chti_moon pourrais tu me poster les changements

j'ai essayé ça ==>

action de mes boutons :

//Bouton poiur déscendre
on(press){
scrollDown = true;
}

on(press){
scrollDown = false;
}


//Bouton pour monter
on(press){
scrollUp = true;
}

on(press){
scrollUp = false;
}


Ensuite, dans mon calque :
this.onEnterFrame = function(){
if(scrollUp){
monTexte.scroll -= 1;
}
if(scrollDown){
monTexte.scroll += 1;
}
}

Mais ça marche pas !! rien ne bouge !!
Aides moi STP!!

Répondre à asuma_san

10

pierre, le 10 oct 2008 à 11:36:08

La zone de texte est elle bien en "texte dynamique" ? il faut aussi que tu lui ai donné "monTexte" comme nom de variable (la case var :), c'est peut-être ça.

Répondre à pierre

11

laurent, le 4 avr 2009 à 07:17:45

Bonjour , je sais que le post est vieux mais si ça peut servir...


on (rollOver){
monTexte.scroll = monTexte.scroll -1;
}

on (rollOver){
monTexte.scroll = monTexte.scroll +1;
}


ça aurait fonctionné come ça tout simplement ;)

Répondre à laurent

12

 laurent, le 4 avr 2009 à 07:29:31

Bon j'ai dit des bêtises c'est simplement que ce n'était pas dans une fonction du genre

onEnterFrame = function() {
//_bas nom d'instance du bouton
_bas.onRollOver = function() {
texte.scroll += 1;
};
//_haut nom d'instance du bouton
_haut.onRollOver = function() {
texte.scroll -= 1;
};

}

Répondre à laurent
Collection CommentÇaMarche.net