ラベル ActionSclipt の投稿を表示しています。 すべての投稿を表示
ラベル ActionSclipt の投稿を表示しています。 すべての投稿を表示

2011/06/23

FlexPMDのEclipseプラグイン

仕事でFlash作成を行った。

開発環境:Flash Builder(Eclipseプラグイン)
開発言語:ActionScript3
コンパイラ:Flex4

結合テストの際に、ActionScriptのステップ数のカウントを行うためのプラグインを
探していたら、FlexPMDを発見した。
そのインストール手順の備忘録。
Eclipseのバージョンとかは以下のサイトを参考に。

参考URL:http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin

◆インストール
1.Eclipseのメニュー Help > Install new software
2.Addボタンをクリックして、新規リポジトリの登録を行う。
 名前:FlexPMD
 場所:http://opensource.adobe.com/svn/opensource/flexpmd/plugin/trunk/flex-pmd-eclipse-plugin-site
3.FlexPMDをインストール
4.Eclipse再起動


◆設定
設定のためには、いくつかダウンロードが必要。
1.FlexPMDのコマンドライン.jarをダウンロード
 zipファイル
2.ダウンロードしたファイルを適当なディレクトリに展開。
 ただし、ディレクトリ名に半角スペースがあると、うまく動かない様子。
 (http://www.kei3.jp/diary.php?id=7561より)
 ちなみに、私はFlexSDKを以下のディレクトリに入れていたので、同じディレクトリに展開。
 <C:\tools\Flex\flex-pmd-all-in-one-bundle-1.1>
3.EclipseのFlexPMDアドインにコマンドライン.jarを登録する
 Eclipseメニュー > Window > Preferences > FlexPMD と設定画面を表示。
 ・FlexPMD command line installation:(2)のディレクトリ\flex-pmd-command-line.jar
 ・FlexPMD custom ruleset:今はブランクで
 ・FlexCPD command line installation:(2)のディレクトリ\flex-pmd-cpd-command-line.jar
 ※ファイル名にはダウンロードしたバージョンが入っている場合有
4.Apply > OK

以上で設定終了。


◆動作確認
検証したいファイル/ディレクトリを右クリック > FlexPMD > Run FlexPMD

これで検証結果が表示されれば、インストール&設定が完了!!
ただし、ワークスペース名に半角スペースがあると、うまく動かない様子。
 (http://www.kei3.jp/diary.php?id=7561より)


◆監査ルールの取得
1.監査ルールの設定ファイル(xml)のダウンロード
 URL:http://opensource.adobe.com/svn/opensource/flexpmd/bin/flex-pmd-ruleset-creator.html

2.上記サイトにアクセスし、画面下部の「Export」ボタンをクリック。
もし、ルールを変更したい場合は、画面内を操作してカスタマイズ可能。

3.ダウンロードしたファイルの格納場所は適当な場所へ。
 私の場合、以下のディレクトリに格納。
 ルールファイルはxmlなので、テキストエディタで編集可能。
  ・C:\tools\Flex\FlexPMD_Ruleset

4.ダウンロードしたルールファイルの設定
 Eclipseメニュー > Window > Preferences > FlexPMD と設定画面を表示。
 ・FlexPMD custom ruleset:(3)でダウンロードしたファイル


以上で、一通り動くはず!

2011/05/09

Flash(AS3)で外部XMLファイルを参照する方法



Flash(ActionScript3)でXMLファイルを読み込む手順について
解説されているサイトは沢山あったけど、今回自分がやりたかったのは、
<Flexプロジェクト>でのやり方。

これについては、なかなか紹介されているサイトがなく、
悩んだので、実現できた方法を忘れないようにまとめます。

ちなみに作成環境は以下の通り。
・Windows Vista
・Flash Develop(フリーのFlash開発環境統合ソフト)

【手順】
1)Flash Developにて<Flex3プロジェクト>を新規作成
 パッケージ:test
 テンプレートのコピーをする

2)src/test/Main.mxml の編集
~~~~~ Main.mxml ここから ~~~~~
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script>
    <![CDATA[
      import test.asFile.ShowMessage;
    ]]>
  </mx:Script>
  
  <!-- レイアウト -->
  <mx:Text id="messe" text="以下に表示するファイル名を入力"/>
  <mx:TextInput id="textBox" text="test.xml" />
  <mx:Button id="button" label="Click!!"
    click="new ShowMessage(textBox, textArea)" />
  <mx:TextArea id="textArea"
    width="500" height="200"
    text="ここに指定したXMLファイルの内容が表示されます。" />
</mx:Application>
~~~~~ Main.mxml ここまで ~~~~~

3)asファイルの作成
~~~~~ ShowMessage.as ここから ~~~~~
package test.asFile {
  import flash.events.Event;
  import flash.net.URLLoader;
  import flash.net.URLRequest;
  import mx.controls.TextArea;
  import mx.controls.TextInput;

  /** XMLファイルの内容を表示するためのクラス */
  public class ShowMessage {
    /** XMLファイルを設置するディレクトリ */
    private const XML_HOME_DIR:String = "test/xml/";

    /** コンストラクタ */
    public function ShowMessage(
      textInput:TextInput, textArea:TextArea) {
      var fileName:String = textInput.text;
      ReadXMLFile(fileName, textArea);
    }
    
    /** ファイル内容の取得 */
    private function ReadXMLFile(
      fileName:String, textArea:TextArea):void {
      
      var xml:XML = new XML();
      var urlRequest:URLRequest =
        new URLRequest(XML_HOME_DIR + fileName);
      var urlLoader:URLLoader = new URLLoader(urlRequest);
      
      urlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
      
      function xmlLoaded(event:Event):void {
        xml = XML(urlLoader.data);
        trace(xml.toString());
        textArea.text = xml.toString();
      }
    }
  }
}
~~~~~ ShowMessage.as ここまで ~~~~~

4)xmlファイル作成
~~~~~ test.xml ここから ~~~~~
<?xml version="1.0" encoding="utf-8" ?>
<data>
 <member>
  <name>first</name>
 </member>
 <member>
  <name>second</name>
 </member>
</data>
~~~~~ test.xml ここまで ~~~~~

5)最終的なディレクトリ構成

XMLファイルを設置する場所がポイント!
swfファイルが設置されているディレクトリが
ホーム扱いになるので、
そこから相対パスで参照できるようにする
必要がある点に注意。

これに関しては、EclipseにFlash Developerのプラグインを入れてコンパイルすると
自動でディレクトリが作成されるからsrcディレクトリに入れると行ける。