Trucsweb.com

Forum de discussion

 Forum « Flash et Shockwave » (archives)

Re: ClipTexte défilant, code

Envoyé: 30 mai 2004, 11h27 par dada


Salut,

à l'adresse que tu indiques, ce n'est pas vraiment le texte qui défile dans un champ, mais c'est le CHAMP qui DEFILE. Si c'était le scroll du texte qui défilait, çà aurait un rendu beaucoup moins fluide.

Ici, je pense qu'il s'agit d'un champ de texte placé dans un clip qui défile sous un masque.

.... 1 heure plus tard ;) ....
ahh Flash, quand tu nous tiens ... ;-)

je me suis pris au jeu et j'ai pondu un ptit script qu'il suffit de placer sur la premiere image du scénario.

Il créé un clip d'ensemble dans lequel il met :
- un clip contenant un champ de texte
- un clip carré servant de masque

une fonction de défilement associée au rollOver et RollOut permet le défilement du clip sous le masque.
Je pense que tout est expliqué dans les commentaires.

-----------------------------------------


// Texte à afficher :
ContenuTexte = "Si vous voyez un texte qui défile\ret qui s'arrête quand on passe au dessus\ralors : çà marche !! ;-)";

// Création d'un clip contenant tout le reste (c'est plus propre et pratique)
this.createEmptyMovieClip("ConteneurEnsemble", 1);

// Pour placer le texte dans la page, il faut agir sur ce clip :
with (this.ConteneurEnsemble) {
_x = 100;
_y = 100;
}

// Création du clip qui contient le champ de texte
this.ConteneurEnsemble.createEmptyMovieClip ("ConteneurTexte",1);

// Création du champ de texte dans le clip
this.ConteneurEnsemble.ConteneurTexte.createTextField ("ChampTexte",2, 0, 0, 150, 50);

// autosize pour que la taille du champ de texte s'ajuste au texte contenu (en largeur)
this.ConteneurEnsemble.ConteneurTexte.ChampTexte.autoSize = "left";

// On applique le texte au champ texte
this.ConteneurEnsemble.ConteneurTexte.ChampTexte.text = ContenuTexte;

// plus besoin de cette variable: on l'efface
delete ContenuTexte;

// Création du clip vide Masque
this.ConteneurEnsemble.createEmptyMovieClip ("Masque",3);

// On dessine un carré de la taille du ChampTexte dans le masque
with (this.ConteneurEnsemble.Masque) {
lineStyle(); // aucune ligne
beginFill(0x000000); // remplissage noir
// on utilise largeur et hauteur du clip contenant le champ texte (l'autosize influant dessus)
// si on veut que le masque soit plus petit que le texte(en hauteur), il faut agir sur les coordonnées des 3 prochaines lignes(*)
lineTo (this.ConteneurEnsemble.ConteneurTexte._width,0);
lineTo (this.ConteneurEnsemble.ConteneurTexte._width,this.ConteneurEnsemble.ConteneurTexte._height);// (*)par exemple rajouter "-50" à "_ height" ici
lineTo (0,this.ConteneurEnsemble.ConteneurTexte._height); // (*)et là
lineTo (0,0);
}

// on applique le masque au clip ConteneurTexte
this.ConteneurEnsemble.ConteneurTexte.setMask(this.ConteneurEnsemble.Masque);

// Fonction pour faire monter le clip du ChampTexte
// Paramètre "Pas": Le nombre de pixels de déplacement à chaque image
// Paramètre "Limite": Le nombre de pixel que l'on rajoute à la disparition avant que le texte ne réaparaisse en bas
MovieClip.prototype.MonterClipTexte = function (Pas, Limite) {
// On attache les variables à ce clip
this. Pas = Pas;
this.Limite = Limite;
// On céé une boucle EnterFrame
this.onEnterFrame = function () {
with (this) {
// On diminue la coordonnée Y de 'this' (ConteneurTexte) de 'Pas' pixel
this._y -= Pas;
// Quand le clip ConteneurTexte disparait, il faut remettre le clip en dessous (en Y) du masque
if (this._y < (-this._height - Limite)) {
this._y = this._height;
}
}
}
}

// ROLL OUT
this.ConteneurEnsemble.ConteneurTexte.onRollOut = function () {
this.MonterClipTexte(1, 50);
}

// ROLL OVER
this.ConteneurEnsemble.ConteneurTexte.onRollOver = function () {
delete this.onEnterFrame;
}

// On envoie le défilement pour la premiere fois
this.ConteneurEnsemble.ConteneurTexte.MonterClipTexte(1, 50);

----------------------------------------

Si tu as besoin de précisions, n'hésites pas, j'avais besoin de faire un truc comme çà en plus, c'était l'occasion ou jamais ;)
D'ailleurs, Oznog a fait plusieurs tutoriels sur le défilement (clips, textes). Le code ci-dessus ne fonctionne qu'à partir de FlashMX. Si tu as Flash5, il vaut mieux que tu regardes les tut' d'Oznog.

dada


Réponses

 sp spRe: ClipTexte défilant, code fabinouze30/5/2004
 sp spRe: ClipTexte défilant, code fabinouze30/5/2004
 sp spRe: ClipTexte défilant, code dada1/6/2004
 sp spRe: ClipTexte défilant, code fabinouze1/6/2004
 sp spRe: ClipTexte défilant, code dada2/6/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@