• 07 «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • » 09
ASOK?
ActionScriptでFlashつくるよ
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
page top
コマンド内部でエラー(例外)が発生した時は、Command.throwError()を呼べばいいみたい。それによってアプリケーション側のエラー処理が走る。

protected function throwError(target:Command, error:Error):void
コマンド処理中に例外が発生したことを通知します。 エラー処理が発生すると、コマンド処理が停止します。 問題を解決し、通常フローに戻す場合には executeComplete() メソッドを、問題が解決されず中断処理を行いたい場合には interrupt() メソッドを実行してください。 関数内で問題が解決、または中断処理に移行しなかった場合には ExecuteErrorEvent.EXECUTE_ERROR イベントが送出されます。
Command.throwError()

アプリケーション側のエラー処理は、Command.catchErrorにエラー処理関数を定義する。

…エラーの原因となった問題を解決できた場合にはexecuteComplete()メソッドを、解決できないが次へ進んで構わない場合にはinterrupt()メソッドを実行してください。どちらも実行されなかった場合には、onErrorイベントイベントハンドラメソッドに登録された関数が実行されます。
(Progression本 p.191)

似たようなメンバにonErrorがあるが、catchErrorを使うほうがいいみたい。Progression本(p.191)には、

onErrorは、位置付けとしてエラーの原因が解決できなかった場合の処理を設定するイベントです。ですので、エラー処理はcatchErrorで実装し、どうしても解決できない場合に、エラーを通知する処理などをonErrorに実装するように

とある。

さらにExecuteErrorEvent.EXECUTE_ERRORイベントもディスパッチされる。
スポンサーサイト
page top

SceneObject周りイベントの実行順を調べてみた。

結果

  1. SceneObject.atSceneInit()メソッド
  2. SceneObjectのcastAddedイベント
  3. SceneObject.atSceneInit()メソッドで、addCommandしたコマンドの実行開始
    1. addCommandした親CastのatCastAdded()メソッド
    2. addCommandした親CastのcastAddedイベント
    3. 親CastのatCastAdded()メソッドで、addCommandしたコマンドの実行開始
      • 同addCommandでAddChildした子CastのatCastAdded()メソッド
    4. 親CastのatCastAdded()メソッドで、addCommandしたコマンドの実行終了
      • 親CastにaddChild済みだった子Castの、atCastAdded()メソッド
    5. 親CastのcastAddedCompleteイベント
  4. SceneObject.atSceneInit()メソッドでaddCommandしたコマンドの実行終了
  5. addCommandしたCastの、castAddedCompleteイベント
page top
new AddChildしてないモノも、自動でatCastAddedが呼ばれる
atCastAdded中に表示リストに乗っけたモノは、ちゃんとremoveしないとダメよ。
page top
Progressionのリファレンスがローカルにあるとは知らなかった…。

C:/Users/[ユーザー名]/AppData/Local/Adobe/Flash%20CS5.5/ja_JP/Configuration/Progression/Help/ASDoc/

※Windows7の場合。他のOSは知らない。
※"Flash%20CS5.5"の部分はバージョンによって違うよ。
page top
よく忘れる・間違えることメモ。

外部画像をResource.toBitmapData()で利用したい場合は、LoadBitmapDataを使う(LoadSWFではダメ)。
atCastAdded中に表示リストに乗っけたCastは、atCastRemovedでremoveしないとダメよ。
page top
Copyright © 2005 ASOK?. all rights reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。