Archive pour septembre 2008

[FireFox Wmode 「Input @ Error Fix」]

Mercredi 17 septembre 2008
package fr.manmaru.util
{

        /**
                Correct @ and . Symbol not showing in french and english input textfields
                when WMODE is set has transparent/opaque on FireFox web browser
                Windows OS only..
               
                @author Adrien Dufond
                @version 09/17/08
        */

       
        import flash.text.TextField;
        import flash.events.Event;
        import flash.events.KeyboardEvent;
        import flash.system.Capabilities;

        public class FirefoxWmodeFix
        {
               
                private static var usedKey:Array = new Array();
                private static var usedShiftKey:Boolean;
                private static var sLang:String;
                private static var sCurrentText:String;
               
                public static function firefoxWmodeFix(_field:TextField):void
                {
                        sLang = Capabilities.language.substr(0,2);
                        _field.addEventListener(Event.CHANGE, onFieldChangeHandler);
                        _field.addEventListener(KeyboardEvent.KEY_DOWN, onFieldKeyDownHandler);
                }
               
                private static function onFieldChangeHandler(evt:Event):void
                {
                        sCurrentText = evt.target.text;
                        if(sLang == ‘fr’)
                        {
                                if ((usedKey[usedKey.length-1] == “48″) && (usedKey[usedKey.length-2] == “18″) && (usedKey[usedKey.length-3] == “17″))
                                {
                                        evt.target.text = sCurrentText.substr(0, sCurrentText.length-1)+“@”;
                                }
                                if (usedShiftKey && (usedKey[usedKey.length-1] == “190″) )
                                {
                                        evt.target.text = sCurrentText.substr(0, sCurrentText.length-1)+“.”;
                                }
                        }
                        else
                        {
                                //-> http://bugs.adobe.com/jira/browse/FP-105
                                if(evt.target.text.slice(evt.target.text.length-1, evt.target.text.length) == \”)
                                {
                                        evt.target.text = evt.target.text.slice(0, evt.target.text.length-1)+“@”;
                                }
                        }
                }
               
                private static function onFieldKeyDownHandler(evt:KeyboardEvent):void
                {
                        usedKey.push(evt.keyCode);
                        usedShiftKey = evt.shiftKey;
                }
               
        }
}

[Loop Horizontal Text Scrolling]

Vendredi 12 septembre 2008
var textline:String = “Just play. Have fun.”;
var intervalTimer:Timer = new Timer(500, 0);
intervalTimer.addEventListener(TimerEvent.TIMER, delay);
intervalTimer.start();

function delay(event:TimerEvent):void{
     var tmp:String = textline.substr(0, 1);
     textline = textline.substr(1, textline.length - 1) + tmp;
     view_txt.text = textline;
}

[typeWriter appendText()]

Jeudi 11 septembre 2008
var textline:String = “Just play. Have fun.”;
view_txt.addEventListener(Event.ENTER_FRAME, typeWriter);
function typeWriter(evt:Event):void{
        if (evt.currentTarget.length != textline.length){
                evt.currentTarget.appendText(textline.charAt(evt.currentTarget.length));
        }else{
                evt.currentTarget.removeEventListener(Event.ENTER_FRAME, typeWriter);
        }
}