forked from: Présentation APPARENCE MAGIE style machine à écrire

by Etienne.Verhote forked from Présentation APPARENCE MAGIE style machine à écrire (diff: 3)
♥0 | Line 54 | Modified 2012-03-13 17:46:41 | MIT License
play

ActionScript3 source code

/**
 * Copyright Etienne.Verhote ( http://wonderfl.net/user/Etienne.Verhote )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/q317
 */

// forked from Etienne.Verhote's Présentation APPARENCE MAGIE style machine à écrire
// forked from Etienne.Verhote's forked from: forked from: Présentation Apparence Magie style machine écrire
// forked from Etienne.Verhote's forked from: Présentation Apparence Magie style machine écrire
// forked from Etienne.Verhote's Présentation Apparence Magie style machine écrire
// forked from hacker_n96o8lrr's forked from: TextField_animation02
// forked from oshige's TextField_animation02
package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormat;
    import flash.utils.Timer;
    import flash.events.TimerEvent;

    public class MyTextField extends Sprite {
        public var fld:TextField;
        public var tf:TextFormat;
        public var msg:String = "Couturier et styliste depuis plus de 10 ans, le Créateur confectionne des tenues\npour le music-hall, pour les musiciens et pour certains spectacles. \n\nLe Créateur travaille également avec des comédiens du théâtre et du cinéma \npour la confection de leurs tenues. Vous trouverez sur ces pages toutes \nles informations concernant les multiples possibilités de création pour\nles tenues techniques des artistes de la magie, toutes illusions confondues:\nle 'Quick-change', la 'Lévitation', le 'Close-up' et toutes autres\nprestations de magie... \nChaque tenue confectionnée par le Créateur est propre à chaque client et \nconçue à la pièce, protégée par un accord de confidentialité pour le client. \nPour préserver la confidentialité des tenues, vous ne trouverez aucune photo \nde vêtements techniques sur ce site mais toutes les informations liées\nà la création et à la confection des vêtements techniques vous seront\napportées sur ces pages. \nSi vous souhaitez rencontrer le Créateur pour une première approche \nde votre projet vestimentaire, vous pouvez lui écrire un message via la page\n'Contact' de la zone 'Membre' du site.    Magicalement vôtre... Etienne Verhote ";
        public var charPos:uint;
        public var counter:uint;
        public var currentMsg:String;
        public var timer:Timer;
        public var offset:int = Math.floor(3 * Math.random()) + 3;
        //コンストラクタ
        public function MyTextField(){
            tf = makeTextFormat("Agency FB",19,0x000000);
            //テキストフィールドの作成
            fld = new TextField();
            fld.x = 1;
            fld.y = 1;
            fld.autoSize = TextFieldAutoSize.LEFT;
            //書式の初期値
            fld.defaultTextFormat = tf;
            addChild(fld);
            //アニメーション用のループを行うタイマー
            timer = new Timer(0);
            timer.addEventListener(TimerEvent.TIMER,timerHandler);
            timer.start();
        }
        //書式の作成
        public function makeTextFormat(font:String,size:uint,color:uint):TextFormat {
            var tf:TextFormat = new TextFormat();
            tf.font = font;
            tf.size = size;
            tf.color = color;
            return tf;
        }
        //文字コードを探りながら1文字ずつ追加
        public function timerHandler(event:TimerEvent):void {
            //表示したい文字コードよりoffsetだけ小さい文字コード
            var startCharCode:uint = msg.charCodeAt(charPos) - offset;
            //文字コードを文字に変換
            var char:String = String.fromCharCode(startCharCode + counter);
            //表示済みのテキストに新しい文字と"_"を連結して表示します。
            fld.text = msg.substring(0,charPos) + char + "_";
            //表示したい文字と比較
            if (msg.charAt(charPos) == char) {
                //すべてのメッセージを表示し終わったかどうか
                    if(charPos==msg.length-1){
                    //終了
                    timer.stop();
                    fld.text = msg;//文末の "_"を取り去るためにmsgを入れ直します。
                } else {
                    //次に表示する文字に移ります。
                    offset = Math.floor(7 * Math.random()) + 3;
                    charPos++;
                    counter = 0;
                }
            } else {
                //次の文字コードに進めます
                counter++;
            }
        }
    }
}

Forked