カテゴリー
Develop

progression検証 #4 シーンに色々貼り付けてみる(jp.progression.casts)

続いてSceneに色貼り付けるのに”jp..casts”系を使用してみます。
まずは”AboutScene”。前回でした適当なMovieClip”div_scene1″とJPG画像をcast系に変更。bmは以前は”name”を定していたものを”id”に変更。(一応nameもありますが、getInstanceByIdを検証するためidにしておく)

で、とりあえずコンパイルしてみると”AboutScene”を表示させるタイミングでエラーが発生。

TypeError: Error #1009: 参照のプロパティまたはメソッドにすることはできません。

さてこれは何が原因かいな?ということで、考えると”as CastMovieClip”はちと強引だったかしら?ということで、ライブラリの”div_scene1″のリンケージ設定で、基本クラスを”jp.progression.casts.CastMovieClip”に設定。
これでOK。
さて続いて”AboutScene”でされて、”ContactScene”で削除される画像のオブジェクトの処理をするために”ContactScene”の中を設定。”_onInit”の中で

としてコンパイル。
“AboutScne”を表示後、”ContactScene”を表示すると、きちんとbm(id=face)が削除される。
ここまではOK。
ただし、その後他のシーンに遷移してまた”ContactScene”に戻ったり、いきなり”ContactScene”に入ったり、用はCastBitmapオブジェクトが存在しない状態だとエラーが出る。

ArgumentError: Error #2025: 指定した DisplayObject は呼び出し元の子でなければなりません。

“if (bm)”では駄目っぽい。
ちと

で何が戻ってきているのか?みてみると

[CastBitmap id=”face” name=”instance26″ group=”null”]

な感じ。addChildされているかどうか?は戻り値には関係ないっぽい。
ちなみに”getChildByName”だとremoveChildしたObjectは”null”で戻ってくる。
なので、addChildされているか否かを判定する必要がある・・。
さて・・・。ちょっとひとまずここで休憩。


added 2008/10/20 22:20
さて続き。”getInstanceById”でaddChildされているか否か?をどう判定するか?
ま、簡単に

としてみる。
ひとまずこれでOK。これがスマートなやり方なのか?は良く分からないけれど・・・。
休憩するほどのことは無かった・・・汗
さて、今後は

  1. Sceneに関係ないSpriteなどの制御。
  2. progressionの階層化
  3. autoLockの解除をして制御できるか?
  4. 複雑な非処理を含んだMovieClip等をSceneに設定しての制御
  5. の制御
  6. SceneObjectへのアクセスの確認

辺りを検証していければ・・・。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です