[Flash] effet au rollout

Statut
N'est pas ouverte pour d'autres réponses.

MbK_

Etudjant
slt a tous.

pour une banniere flash, j'ai fais un Bouton (une petite bande non clicable) et qd le cursuer passe dessus, je lui demande de jouer un clip (qui est la meme bande ou l'opacité diminue petit a petit.)

je me demandais si il n'y avait pas une maniere plus simple de faire ca. du genre avec un "on(roollover)" et apres reduire l'opacité. et meme chose pour le rollout.

y a t'il une sorte de dictionnaire ou sont repris toutes les possibilités de modification sur une image (genre flou, opacité, etc)

Merci a tous.
 
R

RedCross

ex membre
Tu places ton bouton sur la scène principale.
Tu lui donnes un nom d'instance (dans l'exemple : "monBouton").
Et tu colles ce code.

Code:
on (rollOver) {
	_root.monBouton._alpha = 100;
}
on (rollOut) {
	_root.monBouton._alpha = 50;
}
Tu varie la valeur de l'alpha à ta guise, tu chipotes quoi ;)
 

La Poubelle

Pou'r allé Danché
Nop, il veut une animation en dégradé.

IL y a deux solutions, soit tu utilises onEnterFrame directement dans le code du MovieClip (RMQ: Il ne faut surtout pas utiliser , le composant Bouton qui n'est qu'un simple MovieClip bridé)

Ce code doit être directement dans le MC lui-même. L'avantage est que ce code sera valable chaque fois que utiliseras ce bouton.

En résumé :

onEnterFrame => Evénement qui s'exécute chaque fois que le MC arrive au début de l'animation.

This => lui-même. En plus clair, que ton MC s'appelle CHarles henri, ou Georges Michael ça ne change rien. Tu l'appelles directement.

Ce code fait : Affecte un code lorsque on fait un rollover à l'évènement onEnterFrame. Il test une valeur pour l'Alpha (j'ai mis 50 au hasard) et réduit l'opacité de 5. Si l'Alpha est plus petit que 50 il supprime l'évènement onEnterFrame

Idem pour onRollOver

Code:
this.onRollOver = function() {
	this.onEnterFrame = function() {
		if (this._alpha>50) {
			this._alpha -= 5;
		} else {
			this.onEnterFrame = null;
		}
	};
};
this.onRollOut = function() {
	this.onEnterFrame = function() {
		if (this._alpha<100) {
			this._alpha += 5;
		} else {
			this.onEnterFrame = null;
		}
	};
};

Soit tu utilises les Timer , fait une recherche sur setInterval sur le net. La procédure est plus ou moins là-même. Par contre, onEnterFrame est une véritable cochonnerie qui prend énormement de ressources comparé à un Timer
 
1er
OP
MbK_

MbK_

Etudjant
Merci [Caius Crossus] mais c'est AGain qui a raison. il faut que ca soit en degradé.

alors j'ai testé ton code AGain mais il m'affiche des erreurs.
j'ai bien mis le soit disant bouton ds un clip. (j'ai fais un rond ds un clip et je l'ai mis ds la scene principale.)


voici les erreurs.

Code:
**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 1 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     this.onRollOver = function() { 

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 10 : L’instruction doit apparaître dans le gestionnaire on/onClipEvent
     this.onRollOut = function() { 

Total des erreurs ActionScript : 2 	 Erreurs signalées : 2
 

La Poubelle

Pou'r allé Danché
Normal, tu n'as pas sélectionné le calque, mais un objet sur le calque.

Sélectionne directement l'image sur la séquence.
 
1er
OP
MbK_

MbK_

Etudjant
AGain a dit:
Normal, tu n'as pas sélectionné le calque, mais un objet sur le calque.

Sélectionne directement l'image sur la séquence.
bon je t'explique ce que j'ai fait pour que ca soit plus simple pck je crois avoir fait ce que tu as dit.

:arrow: nouveau symbole : clip
:arrow: dans le clip, je fais un rond
:arrow: je retourne sur la sequence et je met le clip (le rond quoi...)
:arrow: je click sur le clip et je met le code que tu m'as donné.
:arrow: je test et ca foire.

:cry:
 

La Poubelle

Pou'r allé Danché
:arrow: nouveau symbole : clip
:arrow: dans le clip, je fais un rond
:arrow: dans le clip, je sélectionne l'image sur la séquence et je mets le code
:arrow: je retourne sur la sequence et je met le clip (le rond quoi...)
 
R

RedCross

ex membre
1er
OP
MbK_

MbK_

Etudjant
AGain a dit:
:arrow: nouveau symbole : clip
:arrow: dans le clip, je fais un rond
:arrow: dans le clip, je sélectionne l'image sur la séquence et je mets le code
:arrow: je retourne sur la sequence et je met le clip (le rond quoi...)
Exel AGain. un grand merci a toi ;) c'est exactement ca que je veux.

il y a moyen (facilement) de changer la vitesse a laquelle ca change l'opacité?
 

La Poubelle

Pou'r allé Danché
MbK_ a dit:
AGain a dit:
:arrow: nouveau symbole : clip
:arrow: dans le clip, je fais un rond
:arrow: dans le clip, je sélectionne l'image sur la séquence et je mets le code
:arrow: je retourne sur la sequence et je met le clip (le rond quoi...)
Exel AGain. un grand merci a toi ;) c'est exactement ca que je veux.

il y a moyen (facilement) de changer la vitesse a laquelle ca change l'opacité?
Remplace 5 par 10

Si tu désires que ce soit encore plus transparent, diminue 50 dans le test.
 
1er
OP
MbK_

MbK_

Etudjant
AGain a dit:
MbK_ a dit:
AGain a dit:
:arrow: nouveau symbole : clip
:arrow: dans le clip, je fais un rond
:arrow: dans le clip, je sélectionne l'image sur la séquence et je mets le code
:arrow: je retourne sur la sequence et je met le clip (le rond quoi...)
Exel AGain. un grand merci a toi ;) c'est exactement ca que je veux.

il y a moyen (facilement) de changer la vitesse a laquelle ca change l'opacité?
Remplace 5 par 10

Si tu désires que ce soit encore plus transparent, diminue 50 dans le test.
rien a dire, t'es vraiment pas mauvais :)

jv pas te flatter de trop qd même tu pourrais croire que je te fais des avances :oops:

merci ;)
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut