0

カスタムイベントをディスパッチするムービークリップをフラッシュで作成しました:MyEvent.THE_TYPE = "the_type"

フレックスで私は持っています:<local:my_flash_mc the_type="do_something()"

ただし、これは機能していません。

フラッシュでは、イベントバブルがtrueに設定されます。すべてがフラッシュで正常に動作します。

フレックスでは使用していません:

<fx:Metadata>
  [Event(name="the_type", type="...")]  
</fx:Metadata> 

...これはカスタムフレックスイベントにのみ関係すると思うからです。さらに、.swcはすでにコンパイルされているため、ここでタイプparamでイベントクラスを識別する理由はありません。

イベントクラスに「name」プロパティを作成しようとしましたが、それはできませんでした。

何かご意見は?

ありがとう

4

3 に答える 3

0

問題を解決した方法の詳細については、forums.adobe.com / message / 3668890#3668890を参照してください...

私にとっての主な問題は、[Event...]メタデータタグでした。

それをフラッシュmcの中に入れると、Flexはコンポーネントのカスタムイベントの必要性を認識し始めました(コードヒントがイベントをリストしました)。

于 2011-05-12T09:07:28.397 に答える
0

FlashとFlexの制限により、FlexでMCをそのように使用することはできません。'addEventListener'を使用して、MCにイベントリスナーを手動で追加する必要があります。

于 2011-05-10T15:42:34.757 に答える
0

「機能しない」とはどういう意味かを定義してください。コンパイラの警告が表示されていると思います。このコード:

<fx:Metadata>
  [Event(name="the_type", type="...")]  
</fx:Metadata> 

イベントが存在し、MXMLのコードヒントで使用できるようにすることをFlexコンパイラに通知します。だから、私はこれを推測しています:

<local:my_flash_mc the_type="do_something()" />

コンパイラエラーをスローしています。あれは正しいですか?解決策は、ActionScriptにイベントリスナーを追加することです。

my_Flash_MC_Instance.addEventListener('the_type',do_something);

do_somethingハンドラーメソッドでは、イベントを渡す必要があります(MXMLでは必要ありません)。

protected function do_something(event:MyEvent):void{
 // processing here
}
于 2011-05-10T15:43:57.660 に答える