これまで、FlashCS3,4を使ったFlashアプリ、AIRアプリの開発を行ってきましたが
AS3のみで開発することが多くなったことから、FlashDevelopを使った開発にシフトして行こうと考えています。
私は基本的に AS3のみの開発をおこなってきたので mxタグや Flexコンポーネントは基本的に使用していませんでしたが、
今回FlashDevelopに完全移行するため、あらためてFlashDevelopの機能確認を行いました。
結果、若干の修正を加えるだけでFlashCS3,4で下記慣れていた開発スタイルを採用できることが分かりました。
さっそく説明しますが、
新規プロジェクトを追加すると以下のパッケージでプロジェクトを追加できます。
New Project
|- Flash IDE Project
|- AS3 Project
|- AS3 Project with Preloader
|- Flex 3 Project
|- AIR AS3 Projector
|- AIR Flex 3 Projector
|- Empty Project
今回はFlexBuilder3でドキュメントクラスを設定するので
[Flex 3 Project]を選択して、プロジェクトを追加します。
プロジェクト内に[src]フォルダがあり その中にMain.mxmlがあります。このソースを開くと下記のようなコードが生成されています。
1 2 3 4 | <?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" > </mx:WindowedApplication> |
ここで、FlashCS3,4でいうところのStageのプロパティを設定するために以下のコードを追加します。
1 | horizontalAlign="LEFT" paddingLeft="0" paddingTop="0" backgroundColor="0xFFFFFF" |
これで、とりあえずFlashCS3,4のStageと同じ条件になりました。
あとは、ドキュメントクラスを指定する方法ですが、ドキュメントクラス名が
[MainClass.as]だった場合、以下のコードをWindwoApplicationタグ内に追加します。
1 | <MainClass xmlns="*" /> |
以上で MainClass.asをドキュメントクラスにすることができました。
下記、コードサンプルです。
1 2 3 4 5 | <?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="LEFT" paddingLeft="0" paddingTop="0" backgroundColor="0xFFFFFF"> <MainClass xmlns="*" /> </mx:WindowedApplication> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | //ドキュメントクラス package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import mx.containers.Canvas; import mx.controls.Alert; import mx.controls.Button; import mx.controls.Text; import mx.core.UIComponent; /** * ... * @author zonow */ [SWF(width="200", height="200")] public class MainClass extends UIComponent { public function MainClass() { var bmd:BitmapData = new BitmapData( 200, 200, false, 0xCCCCCC ); var bmp:Bitmap = new Bitmap(bmd); this.addChild(bmp); var myCanvas:Canvas = new Canvas(); myCanvas.setActualSize( 200, 200 ) this.addChild(myCanvas); var myText:Button = new Button(); myText.label = "Button"; myCanvas.addChild(myText); myText.addEventListener(MouseEvent.MOUSE_UP, function():void { var thisAlert:Alert = new Alert(); thisAlert = Alert.show("押すの大好き"); thisAlert.addEventListener(Event.ENTER_FRAME, function():void { thisAlert.x += 1; }); }); } } } |