Progressionで驚きのハマリ!

Filed under AS3, Flash, トラブルシューティング
Tagged as , , , ,

Progressionを使い、とある大規模プロジェクトでFlashコンテンツ制作したのですが、特定環境で発生した問題には戸惑いました。

PPC Mac only!

その問題が発生する環境とは「PowerPC Macでのみ発生」というもの。
ちょっと調べてみたところ、確かにブラウザやFlash PlayerやOSのバージョンは関係なく、本当にただPowerPC Macである、というだけで発生するのです。
具体的な症状は、ProgressionのメソッドであるAddChildで配置するパーツが配置(表示)されない、という現象。
しかも、「一つも AddChild出来ない」というわけではなく、ある特定のパーツ以降で発生する。
なんだか、メモリリークのにおいプンプンである

ググれ!きっと先人がいるはず!

で、ググりにググってみたところ、同様の症状について言及されいてるページを発見した。

この方によれば、「new AddChildを、コンストラクタのaddChildに変更すると正常に動作する」とのことで、たしかに、コマンドリストにnew AddChildしていた箇所だったのでそのコードを以下のように変更してみました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*
// Progression標準的コード.
addCommand(
  new AddChild( partsRoot, _partsA ),
  new AddChild( partsRoot, _partsB ),
  new AddChild( partsRoot, _partsC )
};
*/
 
// PPC Mac対応コード.
partsRoot.addChild( _partsA );
partsRoot.addChild( _partsB );
partsRoot.addChild( _partsC );
_partsC.initOnAdded(); // ←必要に応じて初期化メソッド呼び出し.

AddChildしてた箇所を全てこのようにしたところ、問題は発生しなくなりました!
かなり規模が大きいプロジェクトだったので同様なコードはかなりあり、それぞれ動作確認を取るのも結構大変でしたが、大抵これでうまくいくと思います。

それでも、便利なProgression

まさかのこの問題では手こずりましたが、このプロジェクトで初めて使ったProgression、総じてかなり便利でした
クラスとかの構造もわかりやすかったので、自前でラッパークラスをつくり、便利に使いました。
使用していたProgressionのバージョンは3.1.62でしたが、最新版では直っていたりするのかな?


[AD]

↓最近発売されたオフィシャルProgression本!バージョン4にも対応、とのことで、これからProgressionやるなら必携!

ProgressionによるFlashコンテンツ開発ガイドブック

著者/訳者:阿部貴弘 池田泰延 楢山哲弘 松竹 誠 山上健一

出版社:毎日コミュニケーションズ( 2010-04-28 )

定価:¥ 3,024

単行本(ソフトカバー) ( 312 ページ )

ISBN-10 : 4839931798

ISBN-13 : 9784839931797


↓今までの歴代Macが載っているらしい。話が通じる人と呑むときにこの本があれば酒も進みそう!

Macintosh名機図鑑 (エイムック 1512)

著者/訳者:大谷 和利

出版社:エイ出版社( 2008-03-24 )

定価:¥ 1,296

単行本 ( 157 ページ )

ISBN-10 : 4777909921

ISBN-13 : 9784777909926


Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)