In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

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

/**
 * 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/tLeI
 */

// 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 = "Cette zone est réservée aux membres. \nLa confidentialité de cette zone est assurée par authpro.com \nCette zone est invisible des non-membres.\n\nUn identifiant et un mot de passe vous ont été envoyés \npar mail pour accéder à cette zone. Si vous souhaitez \nmodifier votre identifiant et votre mot de passe, vous pouvez \ncontacter le Créateur à cette adresse:\n 'membres.magie@gmail.com' en précisant vos identifiants. \nIls seront modifiés dans les 24 heures.\nVotre identifiant et votre mot de passe vous seront demandés\nà chaque connexion pour l'accès à cette zone.\n\nPour toute demande de création, un accord de confidentialité\nest établi entre le client et le Créateur afin de protéger l'exclusivité\net l'originalité des prestations de chaque client ainsi\nque des tenues spécialement conçues pour celui-ci.\n\nAucun vêtement n'est conçu en série, chaque vêtement\nest unique et propre au client afin de préserver l'exclusivité\ndes tenues.\n\nPour cette même raison, vous ne trouverez\naucunes photos de vêtements techniques sur ce site.";
        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("Georgia",15,0x000000);
            //テキストフィールドの作成
            fld = new TextField();
            fld.x = 5;
            fld.y = 5;
            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++;
            }
        }
    }
}