2014年6月16日月曜日
as3 XmlExample
XML - Adobe ActionScript® 3(AS3 )API リファレンス
package {
    import flash.display.Sprite;
    import flash.text.*;
    public class XmlExample extends Sprite {        
        var _tf:TextField;
        //var _tfm:TextFormat;
        public function XmlExample() {
            _tf = new TextField();
            _tf.autoSize = TextFieldAutoSize.LEFT;
            addChild(_tf);
            var employees:XML =
                
                
                11 Main St. 
                San Francisco 
                CA 
                98765 
                
                 
                
                99 Broad St. 
                Newton 
                MA 
                01234 
                
                 
                 ;
            //trace(employees.employee[0].address.zip);   // 98765
            _tf.appendText(employees.employee[0].address.zip+"\n");
            //trace(employees.employee[1].@ssn);          // 789-789-7890
            _tf.appendText(employees.employee[1].@ssn+"\n");          // 789-789-7890
            _tf.appendText(employees.employee.name+"\n");             // 11 Main St.     
            // San Francisco 
            // CA 
            // 98765 
            var node:String = "zip";
            _tf.appendText(employees.employee[0].address[node]+"\n"); // 98765
            var attribute:String = "ssn";
            _tf.appendText(employees.employee[1].@[attribute]+"\n");  // 789-789-7890
            for each (var num:XML in employees..@ssn) {
                _tf.appendText(num+"\n");                             // 123-123-1234
            }                                           // 789-789-7890
            var ssnToFind:String = "789-789-7890";
            _tf.appendText(employees.employee.(@ssn == ssnToFind).toXMLString());
            // 
            // 99 Broad St. 
            // Newton 
            // MA 
            // 01234 
            // 
            //  
        }
    }
}
Link
    SyntaxHighlighter の最後の行がおかしな表示になるな
package;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.display.BitmapData;
import flash.display.Bitmap;
import openfl.Assets;
//import flash.display.Loader;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
import flash.system.Capabilities;
class Main extends Sprite
{
    private var _bmpData:BitmapData;
    private var _bmp:Bitmap;
    private var _xmlFileName:String = "data.xml";
    public function new()
    {
        super();
        addEventListener(Event.ADDED_TO_STAGE, init);
    }
    private function init(event:Event)
    {
        removeEventListener(Event.ADDED_TO_STAGE, init);
        var requestUrl:String = _xmlFileName;
        var loader = new URLLoader();
        loader.addEventListener(Event.COMPLETE, onComplete);
        loader.addEventListener(IOErrorEvent.IO_ERROR, onLoadError);
        loader.load(new URLRequest(requestUrl));
    }
    private function onComplete(event:Event):Void
    {
        var text:TextField = new TextField();
        //text.text = cast(xml,String); //NG
        //text.text = data; //OK
        text.width = stage.stageWidth;
        text.textColor = 0x000000;
        text.border = true;
        addChild(text);
        var data:String = cast(event.currentTarget.data, String);
        //var xml:Xml = Xml.parse(data);
        var xml:Xml = Xml.parse(data).firstElement();
        //trace("xml:"+xml);
        //trace("data:"+data);
        var fastXml = new haxe.xml.Fast(xml);
        //trace(fastXml);
        var employee = fastXml.node.employee;
        //trace(employee.att.ssn); //123-123-1234
        //trace(fastXml.nodes[1].employee.att.ssn); //NG
        var zip = employee.node.address.node.zip;
        //trace(zip.innerData);//98765
        text.text += zip.innerData+"\n";
        trace(fastXml.nodes.employee.length); //2
        ///*
        for (elem in fastXml.nodes.employee) {
            trace(elem.att.ssn);
            text.text += elem.att.ssn+"\n";
        }
        //*/
    }
    private function onLoadError(event:IOErrorEvent):Void
    {
        trace("error occured.");
        trace(event.currentTarget.content);
    }
}
XmlTest01
    \nで改行してくれないな
    haxeだとas3のemployee[1]みたいなアクセスはできないんだろうか
DisplayObjectContainer
DisplayObjectContainer - Adobe ActionScript® 3 (AS3 ) API Reference
package{
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    public class DisplayObjectTest01 extends Sprite {
        public function DisplayObjectTest01 ():void{
            var container:Sprite = new Sprite();
            addChild(container);
            var circle1:Sprite = new Sprite();
            circle1.graphics.beginFill(0xFF0000);
            circle1.graphics.drawCircle(40, 40, 40);
            circle1.addEventListener(MouseEvent.CLICK, clicked);
            var circle2:Sprite = new Sprite();
            circle2.graphics.beginFill(0x00FF00);
            circle2.graphics.drawCircle(100, 40, 40);
            circle2.addEventListener(MouseEvent.CLICK, clicked);
            var circle3:Sprite = new Sprite();
            circle3.graphics.beginFill(0x0000FF);
            circle3.graphics.drawCircle(70, 80, 40);
            circle3.addEventListener(MouseEvent.CLICK, clicked);
            container.addChild(circle1);
            container.addChild(circle2);
            container.addChild(circle3);
            addChild(container);
            function clicked(event:MouseEvent):void {
                var circle:Sprite = Sprite(event.target);
                var topPosition:uint = container.numChildren - 1;
                container.setChildIndex(circle, topPosition);
            }
        }
    }
}
Link
package;
import flash.display.Sprite;
import flash.events.MouseEvent;
class Main extends Sprite
{
    var container : Sprite = new Sprite();
    public function new()
    {
        super();
        //var container : Sprite = new Sprite();
        addChild(container);
        var circle1 : Sprite = new Sprite();
        circle1.graphics.beginFill(0xFF0000);
        circle1.graphics.drawCircle(40, 40, 40);
        circle1.addEventListener(MouseEvent.CLICK, clicked);
        var circle2 : Sprite = new Sprite();
        circle2.graphics.beginFill(0x00FF00);
        circle2.graphics.drawCircle(100, 40, 40);
        circle2.addEventListener(MouseEvent.CLICK, clicked);
        var circle3 : Sprite = new Sprite();
        circle3.graphics.beginFill(0x0000FF);
        circle3.graphics.drawCircle(70, 80, 40);
        circle3.addEventListener(MouseEvent.CLICK, clicked);
        container.addChild(circle1);
        container.addChild(circle2);
        container.addChild(circle3);
        addChild(container);
    }
    function clicked(event : MouseEvent) : Void{
        var circle : Sprite = cast((event.target), Sprite);
        var topPosition : Int = container.numChildren - 1;
        container.setChildIndex(circle, topPosition);
    };
}
DisplayObjectTest01
2014年6月15日日曜日
openfl sample
    OpenFl Sample
    openflのsampleをxreaにあげてみた
    SimpleSWFLayoutはダミー画像を入れてみたが真黒になってしまった
    BunnyMark ってサンプルにはFPS表示があるがFPSってクラスがあるようだ
package openfl.display;
import haxe.Timer;
import openfl.events.Event;
import openfl.text.TextField;
import openfl.text.TextFormat;
class FPS extends TextField {
    public var currentFPS (default, null):Float;
    private var cacheCount:Int;
    private var times:Array ;
    public function new (x:Float = 10, y:Float = 10, color:Int = 0x000000) {
        super ();
        this.x = x;
        this.y = y;
        currentFPS = 0;
        selectable = false;
        defaultTextFormat = new TextFormat ("_sans", 12, color);
        text = "FPS: ";
        cacheCount = 0;
        times = [];
        addEventListener (Event.ENTER_FRAME, this_onEnterFrame);
    }
    // Event Handlers
    private function this_onEnterFrame (event:Event):Void {
        var currentTime = Timer.stamp ();
        times.push (currentTime);
        while (times[0] < currentTime - 1) {
            times.shift ();
        }
        var currentCount = times.length;
        currentFPS = Math.round ((currentCount + cacheCount) / 2);
        if (currentCount != cacheCount && visible) {
            text = "FPS: " + currentFPS;
        }
        cacheCount = currentCount;
    }
}
 
</float>?
登録:
コメント (Atom)
めっちゃ本質的な質問ですね 🔥 「Windowsが切り捨てた古いPCでも、LinuxやBSDならどこまで生きられるのか?」 という話を、 技術的な観点+実用ライン で整理してみます。 🧩 1. Windows の切り捨て基準(ハード要件) Windows 11 は...
- 
中古で手に入れたONKYO X-U1だがスピーカサランネットが汚れていたので洗ってみた サランネットは接着剤で止めてあったので外すのにちょっと苦労した 取り外した状態のX-U1(D-U1)はあまり写真など見つけられなかったので上げてみる ウーハーユニットの...
- 
Windows 11 で IME の切り替えを Ctrl+Space に設定する方法 Windows 11 で、 IME(日本語入力システム)のオンオフを Ctrl+Space キーで行うように設定したいのですね。 以下に、 その方法を詳しくご紹介します。 設定手順 設定アプ...
- 
古いAtomプロセッサを搭載したノートPCで動作するLinuxディストリビューションには、軽量でリソース消費が少ないものが適しています。以下に、特におすすめのディストリビューションをいくつか紹介します。 ## **おすすめのLinuxディストリビューション** - **Pup...
 
 
