String

by Maeda_addevent
♥0 | Line 102 | Modified 2013-02-09 13:16:37 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.events.Event;
   import flash.ui.Mouse;
    import flash.text.TextFormat;
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.geom.Point;
    [SWF(width=465,height=465,backgroundColor=0xFFFFFF,frameRate=60)]
    public class FB00025 extends Sprite {
        public var sw:Number=stage.stageWidth;
        public var sh:Number=stage.stageHeight;
        public var _myRect:myRect;
        public var _myArray:Array = new Array();
        public var _myPostion:Array = new Array();
        public var _size:Number=29.06;
        public var _myNum:Number=0;
        public var _myFlag:Boolean;

        public var _myLine_T:myLine_T;
        public var _myLine_Y:myLine_Y;
        public var _myStr:String="昨日書いていたプログラムがとりあえず完成しました。本当は昨日の夜にアップしたかったのですが" +
        "結局、睡魔に負けてしまい本日のアップとなりました。前回アップした時点でここまで作れていれば" +
        "大満足でしたが1回のコードではなかなかパッと到達出来ませんねー。" +
        "頭の中ではいつも完成の動作が見えているのですが、それをコードに変換するのに、まだまだ時間が" +
        "掛かってしまいます。でもそれがプログラムの面白い所でもあるので今後も楽しみなら" +
        "頑張っていきたいと思います。" +
        "ここまで文字を表示させるのにクリックしていただきありがとうございました!";
        public function FB00025() {
            for (var i1:Number=0; i1<16; i1++) {
                _myLine_T=new myLine_T  ;
                _myLine_T.x=i1*29.06;
                _myLine_T.y=0;
                addChild(_myLine_T);
                _myLine_Y=new myLine_Y  ;
                _myLine_Y.x=0;
                _myLine_Y.y=i1*29.06;
                addChild(_myLine_Y);
            }

            for (var i:Number=0; i<_myStr.length; i++) {
                _myPostion.push( new Point(i%16*_size,Math.floor(i/16)*_size));
            }
            stage.addEventListener(MouseEvent.MOUSE_DOWN,myDown);
            addEventListener(Event.ENTER_FRAME,myEnter);
        }
        public function myDown(e:MouseEvent):void {
            var mySprite:Sprite=new Sprite  ;
            mySprite.x=sw*Math.random();
            mySprite.y=sh*Math.random();
            addChild(mySprite);

            var _myBox:String;
            _myBox=_myStr.substr(_myNum,1);

            var _myTxt:TextField=new TextField  ;
            _myTxt.autoSize=TextFieldAutoSize.LEFT;
            var format:TextFormat=new TextFormat(null,20);
            _myTxt.defaultTextFormat=format;
            _myTxt.text=_myBox;
            var bmd:BitmapData=new BitmapData(_myTxt.width,_myTxt.height,true,0x00000000);
            bmd.draw(_myTxt);
            var bm:Bitmap=new Bitmap(bmd);
            bm.smoothing=true;
            bm.x=3;
            bm.y=3;
            mySprite.addChild(bm);
            _myArray.push(mySprite);
            _myNum++;
        }

        public function myEnter(e:Event):void {
            if (_myNum==0 || _myNum > (_myStr.length+1)) {
                return;
            }
            for (var n:Number=0; n < _myArray.length; n++) {
                _myArray[n].x += (_myPostion[n].x -_myArray[n].x)/8;
                _myArray[n].y += (_myPostion[n].y -_myArray[n].y)/8;
            }
        }
    }
}

import flash.display.Sprite;
class myRect extends Sprite {
    public function myRect() {
        this.graphics.beginFill(0x666666,1);
        this.graphics.drawRect(0,0,46.5,46.5);
        this.graphics.endFill();
    }
}
class myLine_T extends Sprite {
    public function myLine_T() {
        this.graphics.lineStyle(1,0xCCCCCC,1,false,"none");
        this.graphics.moveTo(0,0);
        this.graphics.lineTo(0,465);
    }
}

class myLine_Y extends Sprite {
    public function myLine_Y() {
        this.graphics.lineStyle(1,0xCCCCCC,1,false,"none");
        this.graphics.moveTo(0,0);
        this.graphics.lineTo(465,0);
    }
}