Flex3使ってみました
「Flex3でゲームプログラム入門」という記事を読んで、Flex3のSDKをダウンロードして使ってみました。Flash系はまったく初めてです。
- Flex3 SDK:http://www.adobe.com/products/flex/flexdownloads/
- Flex3リソース:http://www.adobe.com/support/documentation/jp/flex/
手習いに、カンタンなアプリを作ってみました。五十音のひらがなを、すべてボタンにして表示します。ボタンを押すと、そのひらがなの音が再生されます。(音声データは、落っこちてるのを見つけられなかったので、ミッキーのマイクで自分の声を録音しました。)
使ってみた感想
- ミニゲームくらいなら、と〜ってもカンタンに作れるんでウレシイ
- mxmlでUI構築するのは、便利でウレシイ
- Builder使ったら、もっとウレシそう
- でも、Repeaterみたいなコントロールが少ないんで、動的になんかやろうとすると、すぐムリがきそう。
- かといって、ActionScriptで同じことやるにはどうしたらいいのかよく分かんない。mxmlから生成するコードを見せてくれればよいのに。
- RIAなところは、まぁそのうち。
以下、ソースコードです。
最初は、全部、mxmlかActionScriptでやろうと思ったのですが、どちらもよく分からなかったので、結局pythonでmxmlのコードを出力してます。
# -*- coding: utf-8 -*- #---------------------------------------------------------- # アプリケーションの開始 #---------------------------------------------------------- print """<?xml version="1.0"?> <!-- aiueo.mxml --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> """ #---------------------------------------------------------- # 音声ファイルの埋込み #---------------------------------------------------------- hiragana = u"あいうえおかきくけこさしすせそ" hiragana += u"たちつてとなにぬねのはひふへほ" hiragana += u"まみむめもや−ゆ−よらりるれろ" hiragana += u"わ−−−をん" embedTmpl = u' <mx:SoundEffect id="%s" source="@Embed(source=\'%s.mp3\')"/>' for c in hiragana: if c <> u"−": print embedTmpl % (c, c) #---------------------------------------------------------- # UIComponentの開始 #---------------------------------------------------------- print """ <mx:Label text="Hello あいうえお!" fontWeight="bold" fontSize="24"/> <mx:Panel layout = "absolute"> """ #---------------------------------------------------------- # ボタンの生成 #---------------------------------------------------------- btnTmpl = u""" <mx:Button x=\"%d\" y=\"%d\" height=\"%d\" width=\"%d\" fontWeight=\"bold\" fontSize=\"24\" label=\"%s\" mouseDownEffect= \"%s\" />""" n = 0; w = 50; h = 50 for c in hiragana: x = w * (9 - n / 5) y = h * (n % 5) if c <> u"−": print btnTmpl % (x,y,h,w,c,c) n += 1 #---------------------------------------------------------- print """ </mx:Panel> </mx:Application> """
このバッチファイルで、aiueo.pyの出力をファイルにリダイレクトしてコンパイルし、音声ファイルと一緒にswfファイルにまとめます。
aiueo.py > aiueo.mxml c:\Flex3SDK\bin\mxmlc -default-size 600 400 -default-frame-rate=30 -default-background-color=0xFFFFFF --show-actionscript-warnings=true --strict=true aiueo.mxml if errorlevel 1 pause