ActionScript


Adobe Open Sourceで公開されたFlex PMDはAS3またはFlexで以下のような推奨されていないコーディング等がされていないかなどを検出するツールらしい。

  • 使用していないコード
  • 効率の悪いコード
  • 複雑なコード
  • 長過ぎるコード
  • Flexコンポーネントの不適切な使用
Adobe Open Source
http://opensource.adobe.com/
Flex PMD
http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD

便利そうだ。

カテゴリ:ActionScript

Post at 2009年09月05日 08:09 | Permalink


Flashでのアクセシビリティ対応時、focusRectをtrueまたはfalseに設定した時の挙動の違いにハマったのでメモ。

focusRectがtrueの時

  1. フォーカスに黄色の枠が表示される
  2. <ENTER>キーでのMouseEvent.CLICKイベントがリスナーに加えられる

focusRectがfalseの時

  1. フォーカスに黄色の枠は表示されない
  2. <ENTER>キーでのMouseEvent.CLICKイベントはリスナーに加えられない
    ※KeyboardEventで<ENTER>キーを判定しなければならない。

ボタン、ムービークリップボタンでの_over動作などはtrue/false共に付くが、MouseEvent.ROLL_OVERなどにはFocusEvent.FOCUS_INなどで対応が必要。

制作途中での変更は少々面倒。特にfalseで制作したものをtrueに変更した場合、<ENTER>キーでのクリックイベントとキーボードイベントが同時に起こり、2度クリックしたような状態になってしまうので、注意が必要。
まさにこれにハマってしまった・・・

また、visibleがfalseになものはイベントを受け付けないが、トウィーンなどでゆっくり消えていくボタンなどはremoveEventListenerを行わないと<ENTER>キー連打で何度もイベントが発生することになる。

カテゴリ:ActionScript,Flash

Post at 2009年07月28日 03:41 | Permalink


今まではFlashでテンプレートファイルを作って使っていたんだけど、FlashDevelopでプロジェクトを作成するときに、Flaファイルまで作ってくれると楽じゃないのかと、Flaのテンプレートファイルを"src"ディレクトリに置いてみた。
当たり前だけど、ちゃんと作成される。かなり楽になった。以下詳細。
※この作業は自己責任でお願いします。

  1. [C:\Program Files\FlashDevelop\Projects]内のIDEプロジェクトをコピー。
  2. FlashDevelopの[toolsメニュー] - [FlashDevelop Application File]を開く。
  3. 開いたウィンドウ内"Projects"ディレクトリ内に貼り付け。
  4. 貼り付けたIDEプロジェクトをリネーム(110を111など)
    ディレクトリ名の構成は「数字 + space + カテゴリ名 + space + 用途」となっている。
    数字は並び順が決まるもので適当でも良いようだが、被らないようにしたほうがいいかも。
  5. IDEプロジェクトディレクトリ内に"src"ディレクトリと"bin"ディレクトリを作成。
  6. "src"ディレクトリにFlaテンプレートファイルと"lib"ディレクトリにASテンプレートファイルを置く。
    ※"lib"ディレクトリはウチでは"src/lib"ディレクトリとなっています。
    ウチがIDEプロジェクトを作成する場合、
    • ドキュメントクラスがMain.asのmain.Fla
    • ドキュメントクラスがIndex.asのindex.Fla
    を作成する。Mainは各種ローダー、Indexがメインコンテンツといった内容。
    main.Flaとindex.Flaは
    • [パブリッシュ設定] - [形式]でパブリッシュ先を相対パスで"bin"ディレクトリにする。
    • [パブリッシュ設定] - [Flash] - [スクリプト:設定]でドキュメントクラスを設定。また、「ステージのインスタンスを自動宣言」のチェックを外した。
    • 同じく、[パブリッシュ設定] - [Flash] - [スクリプト:設定]でライブラリのパスを通す。
    ASファイルは好みでカスタマイズしたものを使うといい。
  7. "Project.as3proj"をカスタマイズする。
    
    
    	
    	
    	
    	
    	
    	
    	
    	
    	
    
    
    
    
    	
    	
    	
    	・
    	・
    	・
    
    
    
    
    	
    	
    	
    	・
    	・
    	・
    

以上。

カテゴリ:ActionScript,Flash

Post at 2009年06月12日 14:44 | Permalink


allowDomain()を使わずに読み込んだ別ドメインのswfとイベントのみをやりとりするsharedEventsの存在を知った。

// 送出側
loader.contentLoaderInfo.sharedEvents.dispatchEvent(new Event(Event.XXX));
// 受取側
loaderInfo.sharedEvents.addEventListener(Event.XXX,xxxHandler);

カテゴリ:AIR,ActionScript,Flash

タグ:

Post at 2009年01月13日 01:24 | Permalink


昨日までとんでもない勘違いをしていた。 ドキュメントクラスの実行タイミングは1フレーム目のロード直後

ドキュメントクラスが実行されるのは、1フレーム目がロードされきった時なので、 これよりも前に色々書き出されてるといつまでたってもプリローダとかが実行されない。

また、ドキュメントクラスを使用している場合、1フレーム目はコンテンツが完全にロードされるまで次のフレームに移動しない。
当然ながら1フレーム目にステージ配置したムービークリップボタンなどがある場合、読み込まれて配置されるまでnullとなるので、デバッグ段階でもエラーが出る。
よく今までトラブらなかったものだ・・・

カテゴリ:AIR,ActionScript,Flash

タグ:

Post at 2009年01月08日 12:26 | Permalink

<< 1 2 3 4 5 6 >>




Feed


Powered by Movable Type 4.27-ja

Hosted by heteml