Patern Generator clockmaker forked:1favorite:4lines:79license : MIT License modified : 2009-09-15 13:50:05 Embed Tweet <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="465" height="465" creationComplete="atReady(event)"> <!-- =============================================== パターンジェネレーター Patern Generator ================================================ --> <mx:Script> <![CDATA[ import flash.display.Bitmap; import flash.display.BitmapData; import mx.utils.ColorUtil; import mx.graphics.codec.PNGEncoder; import mx.events.ListEvent; import mx.collections.ArrayCollection; private var paint:BitmapData; protected function atReady(event:Event):void { combo.dataProvider = new ArrayCollection([{name:"0 or 1"}, {name:"○ or ●"}]); } protected function loadImage(event:MouseEvent):void { // ローカル画像の読み込み var fr:FileReference = new FileReference(); fr.browse(); fr.addEventListener("select", function():void { fr.load(); }); fr.addEventListener("complete", function():void { var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener("init", function():void { paint = Bitmap(loader.content).bitmapData.clone(); loader.unload(); convert(); }); loader.loadBytes(fr.data); }); } protected function copyCheckmate(event:MouseEvent):void { convert(); System.setClipboard(jsonText.text); } protected function convert():void { if (paint == null) return; var p:Array = []; var i:int, j:int, k:int; for(i=0; i<paint.height; i++) { p[i] = []; for(j=0; j<paint.width; j++) { p[i][j] = (paint.getPixel32(j,i) == 0x00000000); } } var onLabel:String = combo.selectedIndex == 1 ? "'●'" : "1"; var offLabel:String = combo.selectedIndex == 1 ? "'○'" : "0"; // for text var str:String = "[\n"; for(i=0; i<p.length; i++) { str += " " + "["; for (j = 0; j < p[i].length; j++) { str += (j==0 ? "" : ",") + ((p[i][j]) ? offLabel : onLabel); } str += "]"+ (i==p.length-1 ? "" : ", ") + "\n"; } str += "]"; jsonText.text = str; } private function changeComboHandler():void { convert(); } ]]> </mx:Script> <mx:Panel title="Patern Array Generator" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5" width="100%" height="100%"> <mx:ComboBox id="combo" labelField="name" change="changeComboHandler()" /> <mx:Button label="Load Image" click="loadImage(event)" toolTip="ローカルの画像を読み込んでパターンに使用します" /> <mx:TextArea id="jsonText" width="100%" height="100%" fontSize="8" /> <mx:Button label="Copy Patern Array" click="copyCheckmate(event)" toolTip="パターンJSONをコピーします" /> </mx:Panel> </mx:Application> Code Fullscreen Preview Fullscreen ffffine ProjectNya narutohyper goliatone : effectlight,light effect effect light, Array sort new page view favorite forked pv139 forked from: Patern Generator kwst.andromeda.ma forked:0 favorite:1lines:80 (diff:1)