1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFormat;
public class Main extends Sprite
{
private var message:TextField = new TextField();
private var mymask:Sprite = new Sprite();
private var police:TextFormat = new TextFormat();
public function Main()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
with (police)
{
font = "Comic Sans MS";
size = 60;
color = 0xFF00FF;
police.italic = true;
}
with (message)
{
defaultTextFormat = police;
text = " La beauté sans rendez-vous... La beauté sans rendez-vous..."; //tu doubles le texte de ton textField pour éviter les coupures comme daans ton exemple
message.autoSize = "left";
message.alpha = .3;
}
addChild(message);
with (mymask.graphics) //création du masque
{
beginFill(0xff0000); //remplissage pour que le masque existe physiquement avec ses dimensions (peu importe la couleur...)
drawRect(0,0,message.textWidth/2,message.textHeight)// rectangle de la dimension du texte à affficher
}
message.mask = mymask; //tu utilises le masque pour n'afficher que la moitié du textfield
stage.addEventListener(Event.ENTER_FRAME, render);
}
private function render(e:Event):void
{
if (message.x < -message.textWidth/2) message.x =0;
message.x--;
}
}
} |
Partager