forked from: forked from: Présentation Apparence Magie style machine écrire

by Etienne.Verhote forked from forked from: Présentation Apparence Magie style machine écrire (diff: 1)
♥0 | Line 54 | Modified 2012-03-13 06:03:40 | 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/ahUK
 */

// 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 robes \n de mariée, des costumes sur mesure, des tenues pour le music-hall, pour les \nmusiciens et pour certains spectacles. Le Créateur travaille également avec des \ncomédiens du théatre et du cinéma pour la confection de leurs tenues. \nVous trouverez sur cette partie 'Membre' toutes les informations concernant \nles multiples possibilités de création pour les tenues techniques des artistes de la magie, \ntoutes illusions confondues: le 'Quick-change', la 'Lévitation', le 'Close-up' \net toutes autres prestations de magie... \nChaque tenue confectionnée par le Créateur est propre à chaque client et conçue \nà la pièce, protégée par un accord de confidentialité entre le client et le Créateur. \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 à la création \net à la confection des vêtements techniques vous seront apportées sur ces pages. \nSi vous souhaitez rencontrer le Créateur pour une première approche \nde votre projet, vous pouvez lui écrire un message sur la page 'Contact' de la \n partie 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("Edwardian Script ITC",22,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