Home > Flex3

Flex3 Archive

[flex]任意のタイミングでAlertを消す

fxug - フォーラム

ここによると、

alert = Alert.show("hogehoge");

で開いたAlertは、

PopUpManager.removePopUp(alert);

で消せるらしいです。

確かにリファレンスを見ると、Alert.show()でAlert型が戻り値になってますね。戻り値あったんだ・・・。この関数。

というかそれ以前にAlertがPopupManagerで開かれていることを知らなかった・・・。
FlexFrameworkのソースって読めるんですよね。やっぱソースとかしっかり読んで勉強するべきなのかなぁ・・・。

[IDE]ActionScript3.0(Flex3・AIR)の開発環境構築(2)

前回の続きです。

前回はFlashDevelopのインストールから、Flex3のSDKを適応し、
コード補完をできるようにするところまででした。

今回は、AIRの開発用のProjectTempleteを作ります。

まずは、FlashDevelopをインストールしたフォルダを確認してください。
特に変更せずにインストールしていれば、
(Windowsなら)C:\Program Files\FlashDevelop\だと思います。
そこからさらにもぐって、
C:\Program Files\FlashDevelop\FirstRun\Templates\ProjectTemplates\
を確認します。
[ProjectTemplates]フォルダ内には、
[00 ActionScript 2 - Empty Project]~[08 HaXe - Default Project]までの
プロジェクトテンプレートファイルがあります。
どれでも良いですが、とりあえず[06 ActionScript 3 - Default Project]をコピーして、
[09 Air - Default Project]という名前にリネームします。
これで、Air用の新しいプロジェクトができました。

FlashDevelop再起動後にnew Projectで確認できると思います。

次はAirプロジェクトのコンパイル設定です。
swfをAirアプリにするためには、application descriptor fileというxmlファイルが必要です。
new Projectの際に自動でこのファイルができるように、
[09 Air - Default Project]フォルダ内にapplication.xmlというファイルを作っておきましょう。

< ?xml version="1.0" encoding="UTF-8"?>

  hoge

  
    hoge.swf
  

これで新規プロジェクトの際には、自動的にapplication.xmlというファイルができることになります。

次にコンパイルのオプションを設定します。
[09 Air - Default Project]フォルダ内の Project.as3proj というファイルをメモ帳で開いてみてください。
中身はXML形式で書かれています。
まず、build という項目に以下を追記します。


  

続いて、
postbuildCommand という項目を以下のように修正します。


  “C:pathtoflex3_sdkbinadl.exe” application.xml

adlへのパスは環境に合わせてください。

これで設定は終了です。
FlashDevelopを再起動し、Airプロジェクトを新規で作ってください。
自動で作られたapplicaiton.xml内のrootContentで指定するswfを適当に調整し、
F8でAirアプリの完成です。

[IDE]ActionScript3.0(Flex3・AIR)の開発環境構築(1)

Flex3の開発環境といえば、FlexBuilder3。
ですが、使用期限ももう限界です。

僕は少し前からFlashDevelop3.0に切り替えました。
AIRの開発に他の人は何を使ってるんだろう・・・。
ここを見ながら設定するとAIRの開発に問題無しです。

若干コード補完がおかしいときがありますが、
体感的にはFlexBuilderよりも軽いし、無料だし。

ほぼそのままですが、開発環境の構築手順を。

まずはFlashDevelopをここからダウンロードします。
2007年8月11日現在、最新版はFlashDevelop 3.0.0 Beta2のようです。
そして、インストール。
FlashDevelopの起動には「.NET Framework 3.0」が必要なので、インストール前に入れておきましょう。
インストール後

英語ですが、普通に進めれば問題無くインストールできると思います。
うまくインストールできたら文字コードを設定します。
これをしておかないと、FlexBuilderからのファイルとかを移行したときに日本語が化けます。
メニューから、
Tools -> Program Settings -> その他 -> Default CodePage と選択して、
ここの数値を「1252」から「65001」に変更します。これでUTF-8になるようです(細かいことはわかってない)。
情報元はここ

それでは、ここからはAIRのBeta1とかFlex3用のプロジェクトを作る設定です。

まずはFlex3のSDKを設定します。
先ほどと同様に、Tools -> Program Settings から、
plugins -> AS3Context -> settings
と選択していきます。
すると、「AS3Contexet」というタイトルのウインドウが出るはずなので、
その中の、AS3項目内「Flex 2 SDK Location」にFlex3のSDKを設定します。
(SDKの設定なので、mxmlcのあるフォルダの上のフォルダを設定)

続いてコード補完用のファイルを設定します。
まずは、このページのはじめの書き込みの「Update: Flex 3/AIR Intrinsic Classes 」という部分から「flex3_intrinsic.zip」というファイルをダウンロードしてください。

先ほどの、「AS3Context」ウインドウをもう一度開き、
今度は、「AS3 Classpath」というところを先ほどダウンロードしてきたflex3_intrinsic.zipを解凍したものを設定します。

一度、FlasDevelopを再起動し、
新しいProjectを作ってみましょう。

project -> new Project

で開いたウインドウからProject名などは適当に。Templeteは「ActionScript3 - Default Project」で。
すると、
新しいプロジェクト(AS3 Default)
こんな感じに自動でファイルが作られます。

F8押すか、
Project -> Build Project
で、コンパイルできるはずです。

適当にFlex3で新しく追加されたクラスなどを書いてみてください。
コード補完は Ctl + space です。

コレでFlex3と同様のswfをコンパイルできるようになりました。
が、しかし、AIRの開発を行うためにはもう少し設定を続けなければいけません。

続く。

[Flex]ブラウザのポップアップブロックを回避する

navigateToURLを使って新しいウインドウを開く場合には、
ブラウザのポップアップブロックに引っかかるときがある。

navigateToURLでは無く、JavaScriptを使ってウインドウを開いてやれば良いらしい。

< ?xml version="1.0" encoding="utf-8"?>
< mx :Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
  
    < ![CDATA[
      import flash.net.navigateToURL;

      private function openNewWindow( event:MouseEvent, url:String, winName:String, w:int, h:int, toolbar:int, location:int, directories:int, status:int, menubar:int, scrollbars:int, resizable:int):void{
        var fullURL:String = "javascript:var myWin;" + "if(!myWin || myWin.closed)" + "{myWin = window.open('" + url + "','" + winName + "','" + "width=" + w + ",height=" + h  + ",toolbar=" + toolbar + ",location=" + location + ",directories=" + directories + ",status=" + status + ",menubar=" + menubar + ",scrollbars=" + scrollbars + ",resizable=" + resizable + ",top='+((screen.height/2)-(" + h/2 + "))+'" + ",left='+((screen.width/2)-(" + w/2 + "))+'" + "')}" + "else{myWin.focus();};void(0);";
        var u:URLRequest = new URLRequest(fullURL);
        navigateToURL(u,"_self");
      }
    ]]>
  
  
  
< /mx>

メニューバーやツールバーの有無は0,1のフラグで渡す。
FireFoxとOperaとIEでは確かめてみたけど、確かにウインドウが開いた。
設定によると思うけど、FireFoxでは新しいタブとして開いた。

こういう場合を考えると、やっぱりwidthとheightは設定するべきじゃないなぁ。
ブラウザ全体のサイズが調整されてしまう。

[情報元]Adobe Flex cookbook beta

Flex 3 Beta 1 (Moxie)

Flex2が出てから、一年経ったっけ?
早すぎ。

とりあえず、Flex Builder 3の体験版入れてみたけど、
やっぱり30日しか使えないっぽい。まずいな。あんまり触れないかも。
個人的にはプロファイラの機能が気になるんだけど、
使い方がよくわかんないや。

//メモメモ
リファレンス[http://livedocs.adobe.com/labs/flex/3/langref/index.html]

ドキュメント色々

Home > Flex3

Search
Google
Feeds
Meta
Advertisement

Return to page top