今月2冊(Adobe AIR/なでしこ)出版しました
今月は、なんと、2冊同時に本が出ました!
1冊は、10倍のプレミアがついていた「なでしこ」の公式ガイドブックの後継に当たる本。
- 作者: クジラ飛行机
- 出版社/メーカー: ソシム
- 発売日: 2008/06
- メディア: 単行本
- 購入: 1人 クリック: 78回
- この商品を含むブログ (9件) を見る
もう1冊は、Adobe AIR の本です。
Adobe AIRプロフェッショナルガイド Windows & Macintosh対応
- 作者: クジラ飛行机
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2008/06/25
- メディア: 単行本(ソフトカバー)
- 購入: 7人 クリック: 74回
- この商品を含むブログ (18件) を見る
ちなみにブログは下記に移転しました
- くじらぶろぐD
- http://d.aoikujira.com/blog/
Flashで覚えるアセンブラ・スタックマシン入門
- くじらぶろぐD
より、以下引用です。
八角研究所 http://www.hakkaku.net/ で連載中の技術コラムですが、Flasm について書いたものが掲載されましたのでお知らせします。
Flasmを使って、Flashのアセンブラを、いろいろ書き換えて遊んでみるという講座になっています。ActionScript ByteCode (ABC)を始めるには、この辺りからやってみると、面白いと思います。
また、swfmill を使ってSWFファイルをゼロから生成する方法なども紹介しています。
すべてのキーボードイベントを取る方法
Flex2でのキーボードイベントは、ActionScript2.0の頃のように、キーイベントをすべて取るのが少し難しくなっています。
すべてのキーボードイベントを取るには、stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp) を登録するのですが、
MXMLプロジェクトでは、
stage が null になっているため、アプリが起動した直後からイベントを取ることができません。
(ActionScriptプロジェクトでは、コンストラクタでstageが正しく設定されています。)
そこで、click イベントなどで取ると良いです。ゲームを作る時は、一度、画面をクリックさせるなどの工夫が必要かも
しれませんね。
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" click="onClick()" > <mx:TextInput x="20" y="10" id="a_txt"/> <mx:Script><![CDATA[ import mx.core.UIComponent; private function onClick():void { a_txt.text = "ready"; stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); } private function onKeyUp(event:KeyboardEvent):void { a_txt.text = "code = " + event.keyCode; } ]]></mx:Script> </mx:Application>
あと、Flex2のマニュアルに載っている方法では、適当な
そこにフォーカスを移動させておくという方法が紹介されています。
確かに、この方法なら、creationCompleteイベントでフォーカスを指定できます。
先日、教えてもらった stageを参照できるすばらしい方法です。
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> creationComplete="completeHandler()"> <mx:Script> <![CDATA[ private function completeHandler():void { callLater(initializeHandler); } private function initializeHandler():void { trace(stage); // is not null } ]]> </mx:Script> </mx:Application>
参考)中国語ですが、以下のサイトが役に立ちました。
http://www.nshen.net/blog/article.asp?id=496
最近、flex2のページ探していると、中国のページが多くヒットします。
※幸いにも、英語以上に中国語が読めるので、没問題ですが。
Flex Builder2 で背景色を指定する方法
デフォルトの青っぽい背景色は、Adobe(Macromedia)っぽいけど、
普通の人には変な色なので、白にして欲しかったです。
デフォルトの背景色の変え方、ちょっと迷いましたが以下のようにすれば良いです。
Flex2プロジェクトなら
たとえば、白色なら、以下の感じです。
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#FFFFFF">
ActionScriptプロジェクトなら
- メニューから[プロジェクト - プロパティ]を選択。
- ActionScriptコンパイラを選択
- 追加コンパイラ引数に、「-default-background-color=(背景色)」と指定
背景色は、白なら、0xFFFFFF を、黒なら、0x000000と書きます。
Flex2 SDKなら
mxmlc でコンパイルするとき、コンパイルオプションに
「-default-background-color=(背景色)」を追加します。
例えば、Test.mxml のコンパイルで背景所を青色にする時は
以下のように書きます。
mxmlc -default-background-color=0x0000FF Test.mxml
もしくは、ソース内にメタデータで埋め込み
package { import flash.display.Sprite; import flash.text.TextField; [SWF(width="800",height="600",frameRate="24",backgroundColor="#FFFFFF")] public class FirstAS extends Sprite { public function FirstAS() { var a_txt:TextField = new TextField(); a_txt.text = "Hello, World!"; this.addChild(a_txt); } } }