FlashDevelopの最近のブログ記事

ActionScript3にて各ブラウザのポップアップブロック回避用

SafariのポップアップブロックとIEでのポップアップブロックの回避方法が異なるため
ブラウザを判別して開き方を変更する。
動作検証:Firebox3.6.3 IE8 Safari4.0.4 google chrome4.1.248.1064
いったんメモ


import flash.external.ExternalInterface;

/**
 * ExternalInterface.callにてユーザーエージェント取得用のJavaScriptを実行
 */
var agent:String = String(ExternalInterface.call("function getBrowser(){return navigator.userAgent;}"));

/*
 * TextLoader(独自カスタムクラス)
 */
//var te:TextLoader = new TextLoader({text:agent,autoSize:"LEFT"});
//addChild(te);

/**
 * ユーザーエージェントの内容で処理を分岐
 * 判別は「agent.indexOf("Safari")」だけでいいのだが一応「agent.indexOf("safari")」も評価
 */
if (agent.indexOf("Safari") != -1 || agent.indexOf("safari") != -1) {
    //Safari用処理
    navigateToURL("./index.html", "_blank");
} else {
    //Safari以外の処理
    ExternalInterface.call("window.open", "http://www.google.com/", "_blank");
}

1年以上たって思い出したのですが、
ブログを始めようと思って少しだけ書いてすっかり忘れていました。

さて今回は「Flexって何」と言うことから始めてみようと思います。

まずは、AdobeのサイトのFlex 3のカテゴリでは「魅力あふれるクロスプラットフォーム対応リッチインターネットアプリケーションを開発」という見出しで始まっている。
よくわからないので基本的な書き方をメモしていく事にしてみます。

Flexの基本はXMLを書いていって何かを作るので最初にXMLを使っていることを言っておく必要があるので、まずは1行目に「<?xml version="1.0" encoding="UTF-8" ?>」と書く。
これはXML宣言と言うらしく、XMLを使いますよと言っているところです。
文字コードをUTF-8で書いているのなら「encoding="UTF-8"」は省略してもいいみたい。
「encoding="・・・"」を書かなければ「encoding="UTF-8"」と書いたのと一緒らしい。
また、「version="1.0"」を省略しても「version="1.0"」と書いたのと同じになります。

ということで、「<?xml ?>」が必ず要るがそれ以外は別に無くてもいいみたい。だけどAdobe Flexのリファレンスでは「<?xml version="1.0" ?>」と書いてあるからそれにしておく。
ちなみにversionは必ずencodingの前に書くのが決まりらしい。と言うことはencodingを書く場合はversionを必ず書かないといけないですな。
だから「<?xml version="1.0" ?>」と書いてあったのか~。納得

これでXMLを書く準備ができたので、今度はFlexを書く準備です。
まずはFlexの基本となる土台を書きます。
「<mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml"></mx:Application>」
Flexでは<mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml">から</mx:Application>の間にボタンなどの必要なものを書いていきます。
まあFlexで何か新しいものを作りたい場合は、
<?xml version="1.0" ?>
 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
 <\mx:Application>
とかけばいいことになります。

また、「< mx:Application」など、空白があるとエラーになりました。
何か理由があるんだろうけどよくわからないので、とりあえず空白を作らないように書いてしまいます。
そして「Ctrl+F8」を押したら空のFlexアプリケーションが作られました。
FlashDevelop_HelloWorld_3.gif
こうなっていれば空のFlexアプリケーションの作成は成功です。

さてこれをベースに色々なものが作れるらしいのですが、まだ何を作るか考えていないので基本的なものを作ろうかな。




ということで前回の『「Adobe Flex 3 SDK」をインストールしてみる』と『「FlashDevelop」をインストールしてみる』で必要なものが用意できたので、連携して使える設定をしてみます。

まずは「FlashDevelop」を開いて、「F10」を押して「Settings」を開き、
「AS3Context」の「Flex SDK Location」が「Adobe Flex 3 SDK」をコピーした場所になっているかを確認します。もし違っていたら指定しなおしてやりましょう。
FlashDevelop_Settings_1.gif

次に「FlashViewer」のところで「External Player Path」を指定します。
先ほどの「Adobe Flex 3 SDK」をインストールしたフォルダの「[インストールフォルダ]\runtimes\player\win\FlashPlayer.exe」を選びます。
FlashDevelop_Settings_2.gif
これで設定は終わったはずです。

サンプルプログラムを作成して動くかどうかを確認してみます。
まずは新規ファイルを開き「HelloWorld.mxml」と名前を付けて保存します。
下記をコピーして貼り付けてください。
<!-- ここから -->
<?xml version="1.0"?>
<mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml">
    <mx:Panel title="HeloWorld">
        <mx:TextArea text="HelloWorld"/>
    </mx:Panel>
</mx:Application>
<!-- ここまで -->
FlashDevelop_HelloWorld_1.gif
上記を貼り付け保存をしたら「Ctrl+F8」を押して動くかどうかを確認します。

正常に終了すれば以下の画面になるはずです。
FlashDevelop_HelloWorld_2.gif
そして、左のファイルリストには「HelloWorld.swf」というファイルができていれば「Adobe Flex 3 SDK」の開発環境はそろいました。

うまく動かなかったとき確認するとよさそうなことをメモしておきます。
場合は、FlashPlayer9のデバッグバージョンが入っているかを確認。
「JRE (Java Runtime Environment)」を入れたか確認。
「flex_sdk_3」インストールフォルダへのパスを確認。
(制作したファイルなどへのパスに日本語が含まれているとエラーになるみたいです)
だいたいこんな感じだと思いますが、抜けている可能性は十分ありますのでご了承ください。

これで基本的に制作をしていく環境は整ったとしておいて、
あとは「ActionScript3」も触ることになりそうなので何から始めたらいいか調べておかなくちゃ。


さて、無謀にも「Adobe Flex 3 SDK」をインストールしたのですが、これで何をしたらよいのやら・・・
これから気が向いたら触ってみよう。


エディタには「FlashDevelop.org」から今の段階で最新版の「FlashDevelop 3.0.0 Beta7 released 」を、ダウンロードしておく。
FlashDevelop_Downloads.gif
ダウンロードが終了したらとりあえずはインストール。

何も考えずにそのままインストール作業を進めます。
標準では日本語になっていないので、日本語化をしてみます。

まずは「FlashDevelop v3 beta7を日本語化してみる」を参考にして日本語化。
ダウンロードできる「設定ファイルファイル一式」はかなり便利です!!
あっと、僕の場合設定ファイルは「C:\Documents and Settings\[ユーザー名]\Local Settings\Application Data\FlashDevelop\Settings」の中にコピーしました。

以上で「FlashDevelop」の設定も一旦終わりです。

Adobe Flex 3 SDK インストール方法

「Adobe Flex3 SDK」を試してみようと思いインストールしてみる。

まず始めにFlex SDKをダウンロードします。
Adobe Flex 3 SDK (ダウンロードサイト)
僕はここから「Adobe Flex 3 SDK(zipファイル)」をダウンロードしました。
開発バージョンごとにzipファイルが用意されているので安定版をダウンロードすることにします。(オレンジの線が引いてあるやつ)
Flex_3_SDK_Downloads.gif
バージョンごとは「Flex 3 SDK Downloads」 から
Adobe Flex3 SDK (Flex 3 SDK リリースノート)
ここは「Flex 3 SDK リリースノート」インストール時などの注意点なども書いてあります。

ダウンロードには少し時間がかかりますが、ダウンロードできたら「flex_sdk_バージョンナンバー.zip」と言うのができていますのでまずは解凍します。


そしてもう一つダウンロードしておかないといけないのが、「JRE (Java Runtime Environment)」です。
・ JRE (Java Runtime Environment) ダウンロードサイト
「Platform:」のところは使用する環境にあわせて選んでください。
「Language:」のところはそのままで、下のチェックボックスにチェックを入れて「Cuntinue」を押します。
JRE_Download_1.gif
するとダウンロード画面が出てくるので、「Windows Offline Installation」と書いてあるところにチェックを入れて下の「Download Selected with Sun Download Manager >>」を押します。
JRE_Download_2.gif
Sunのダウンロードマネージャー経由でのインストールが嫌な人は直接exeファイルをダウンロードすることもできるみたいです。
あ、ちなみにダウンロードマネージャーを使うとすぐにインストール作業に入っちゃいます。

JREはインストール済みとして、「Flex 3 SDK」をインストールするのですが、基本的には先ほどダウンロードした「flex_sdk_バージョンナンバー.zip」を解凍すれば終了です。

以上で「Flex 3 SDK」のインストールは終了です。 がっ!!
作っていくために都合のいいように設定する必要があるので、そのための作業を今からします。

まずは、先ほど解凍してできた「flex_sdk_バージョンナンバー」のフォルダ名を「flex_sdk_3」とリネームします。そして「flex_sdk_3」を「C:\」直下に配置しておきます。
なぜ「C:\」の直下に置くかというと、Flexを作っていくためのエディタを置いておくためです。

ここまでできたら「Flex 3 SDK」のインストール作業はひと段落です。
この後は「FlashDevelop」のインストールをします。

「FlashDevelop インストール方法」


という訳でタダで「Adobe Flex 3」を始めてみようと思う。

まあAdobeがオープンソースで「Flex 3 SDK」を公開しているので、
興味をそそられ触って見ようと思うのです。
その為に揃えないといけないのが、「Adobe Flex 3 SDK」まあ当然ですね、そしてテキストエディタを使うので「FlashDevelop」というのが使いやすいらしいので用意する。

まずはダウンロードできるサイトを紹介しておきます。
Adobe Flex 3 SDK
FlashDevelop 3.0.0 Beta7 released

まずはこの二つがあればそれなりにできるらしい。
さて、インストールしてみるか。