begin process at 2012 05 27 06:11:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Divers

 > 

Débutant(e)

 > 

défilement de texte


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

défilement de texte

mardi 11 mai 2010 à 12:49:16 | défilement de texte

Makdoom

Bonjour,

J'ai récupéré une source sur le net mais qui ne fonctionne pas exactement comme je voudrais. Voici le code en question :
Code ActionScript :
monTexte="<p>"+_root.thetext+"</p>";
vxmin = 0;
vxmax = 5;
vx = 0.5*(vxmin+vxmax);
 
monStyle = new TextField.StyleSheet();
monStyle.setStyle("p", {fontFamily:'OCRAstd', fontSize:'13px', color:'#00aa00'});
monStyle.setStyle("a", {fontFamily:'Arial', fontSize:'13px', color:'#FF0000'});
monStyle.setStyle("a:hover", {fontFamily:'Arial', fontSize:'11px', textDecoration:'underline', color:'#FF9900'});
 
this.createEmptyMovieClip("monClip", 0);
monClip.cacheAsBitmap = true;
 
monClip.createTextField("monChampDeTexte", 0, 0, 0, 0, 0);
 
with (monClip.monChampDeTexte) {
autoSize = true;
html = true;
styleSheet = monStyle;
htmlText = monTexte;
selectable = false;
border = false;
largeur = _width;
hauteur = _height;
}
 
xRight = 650;
xLeft = 10;
 
this.createEmptyMovieClip("masque", 1);
 
masque._x = monClip._x=xLeft;
masque._y = monClip._y=5;
 
masque.beginFill(0, 100);
masque.moveTo(0, 0);
masque.lineTo(xRight-xLeft, 0);
masque.lineTo(xRight-xLeft, hauteur);
masque.lineTo(0, hauteur);
masque.lineTo(0, 0);
masque.endFill();
 
blurX = 30; 
filtre = new flash.filters.BlurFilter(blurX, 0, 1);
masque.filters = [filtre];
 
monClip.setMask(masque);
 
monClip.onEnterFrame = function() {
var dy = Math.abs(this._ymouse-0.5*hauteur);
if (dy>0.5*hauteur) {vx = vxmin+(vxmax-vxmin)*dy/Stage.height;} else {vx = vxmin;}
this._x -= vx;
if (this._x<xLeft-largeur) {this._x = xRight;}
};



tout marche bien excepté le fait que le texte ne se met à défiler que si l'on passe la souris dessus, or moi je cherche a ce qu'il défile dès le chargement de la page web.
J'ai essayé de changer le "onEnterFrame" par du "onLoad", j'ai aussi essayé de remplacé ca par un setinterval mais rien n'y fait, sans la souris qui passe dessus, rien ne défile :/
Je ne connais rien a flash donc je suis assez vite dépassé ^^ si quelqu'un a la soluce, je suis a l'écoute ;)
mardi 11 mai 2010 à 14:23:54 | Re : défilement de texte

dj_ouf

Salut

Tout se passe dans la fonction onEnterFrame :
Code ActionScript :
var dy = Math.abs(this._ymouse-0.5*hauteur);
if (dy>0.5*hauteur) {vx = vxmin+(vxmax-vxmin)*dy/Stage.height;} else {vx = vxmin;}
this._x -= vx;
if (this._x<xLeft-largeur) {this._x = xRight;}


Si on traduit ça, on voit qu'il calcule la distance entre la position verticale de la souris (_ymouse) et la position verticale de monClip. Si cette distance est supérieure à la moitié de sa hauteur (if (dy>0.5*hauteur), alors on fait défiler, sinon il défile à la vitesse minimale définit, qui est ici "vxmin". Or "vxmin" est égal à 0 comme on peut le voir tout en haut du code, donc il te suffirait de le redéfinir à 5 par exemple pour voir qu'il défilerait en continue !

Voici, en espérant t'avoir un peu éclairé, et que tu y voit + clair dans la logique du code :)
mardi 11 mai 2010 à 15:23:32 | Re : défilement de texte

Makdoom

Merci d'avoir répondu ^^
Malheureusement ca ne marche pas plus, en mettant vxmin à 5 la vitesse ne change plus (normal) mais le texte ne se met a défiler quand meme qu'a partir du moment ou la souris l'a survolé :/

Je crois que les calculs de distance (et donc la détermination de la vitesse) se font par rapport aux coordonnées dans le clip, mais l'objet flash n'est qu'une partie du site, et tant que la souris reste en dehors il n'y a pas de défilement ...

Je continue de tester des trucs mais jusqu'ici je ne trouve rien qui aille.
mardi 11 mai 2010 à 16:06:50 | Re : défilement de texte

dj_ouf

J'ai testé le code en créant un nouveau doc flash, j'ai bien le texte défilant en auto directement.
Effectivement si ce flash est englobé dans un site, le comportement peut-être différent.

Si tu veux faire un défilement indépendamment de la position du curseur de la souris, tu peux toujours ordonner un défilement avec une constante :
Code ActionScript :
monClip.onEnterFrame = function() {
this._x -= vx;
if (this._x<xLeft-largeur) {this._x = xRight;}
};

mardi 11 mai 2010 à 16:18:53 | Re : défilement de texte

Makdoom

Toujours pareil :/
Je vais peut etre dire une betise mais "onEnterframe" est ce que ca ne suppose pas que justement ca nécessite que la souris entre dans la frame (objet ?) ?

ou peut etre faut il ajouter un monClip.visible = true; quelque part pour qu'il oit visible dès le début ? (quand j'attend quelques secondes avant de passer la souris sur le champ de texte celui ci commence a défiler a une position qui laisse supposer qu'il défilait deja mais sans etre visible)
mardi 11 mai 2010 à 17:05:21 | Re : défilement de texte

dj_ouf

Réponse acceptée !
onEnterFrame, c'est la fonction déclenché à chaque rafraichissement du flashplayer, donc autant de fois que de frames jouées par secondes. Par contre frame suppose une frame de la timeline, pas un objet.

Si tu as des problèmes de visibilité du clip, cela pourrait provenir du masque. Désactives le si tu veux en être sûr.
mardi 11 mai 2010 à 17:58:54 | Re : défilement de texte

Makdoom

en effet, en supprimant la ligne "masque.filters = [filtre];" le texte s'affiche directement. Merci pour ton aide :)


Cette discussion est classée dans : hauteur, masque, monclip, monstyle, vxmin


Répondre à ce message

Sujets en rapport avec ce message

créer une variable = loadVariablesNum [ par lovic75 ] Bonjour tout le monde, j'ai recuperer du code sur le net pour créer du texte défilant avec un joli effet et tout et tout.mais comme c'est pour faire u Problème chargement Texte défilant depuis un fichier txt [ par moldov ] Bonjour,Etant débutant en flash ,je me suis aventuré a faire une swf qui affiche un texte qui défile et ce texte est chargé depuis un fichier txt.Alor clip dynamique + masque [ par calin0o ] Bonjour,J'ai crée un 'ti script qui duplique dynamiquement des clip mais j'aimerai créer une sorte de masque au dessus de ces clip.Le problème c'est q Tween qui tween pas ou tween=timer ? [ par WhiteMagus ] Bonjour.Je poste pour une fois pour une demande d'aide, non pour aider. Ne vous inquiétez pas, je dirai merci à la fin Mon projet : on m'a commandé un publicité [ par tonydanza ] Bonjour a tous,actuellement je fait une pub.Quant on passe avec la souris sur la pub, cela lance un 2 eme swf, au milieu de la page web.Voici le code: Load et Unload [ par Dominike ] Bonjour à tous !proverbe du jour "Il fait gris et je suis sur l'ordi..."mais petit besoin d'aide concernant le chargement et surtout déchargement d'un as3 pb enterFrame [ par inaden ] Bonjour,l'idée est de créer une fonction de transition alpha... truc simple en as2 mais là.Voici deux tentatives (les seuls qui ne me donne pas de mes au secours, besoin d'aide loadmovie... [ par isidore22 ] bonjour à tous, je débute sur flash, quelqu'un pourrait-il me donner un coup de pouce ? je décris mon problème : - mon site fonctionne par pages ch au secours, besoin d'aide [ par isidore22 ] bonjour à tous, je débute sur flash, quelqu'un pourrait-il me donner un coup de pouce ? je décris mon problème : - mon site fonctionne par pages ch Probleme de masque avec AS2 [ par craminus ] Bonjour,je dispose de plusieurs calques:ActionScript (pour mes scripts)Sommaire (pour les animations)masque(comme son nom l'indique c'est le masque av


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,231 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales