SWFEditor で MC 入れ替えして一部の画像が表示できない問題が発生してる。
といった指摘を頂いていて、確かに再現するけど原因が分からず、
オフィスに直接お邪魔して話をしたいとの要望に先方から快諾頂いたので、
有給
*1
を取って博多に行って来ました。
▼調査:
当初は MovieClip 間の depth の重複(仕様的には MovieClip 独立なのでプレイヤーのバグが無いか)を疑い、PlaceObject の depth をバイナリエディタで直接書き換えて、色々なパターンで実験したのですが。やはりそこは関係なくて。
MovieClip の nest も特別深くはない。メモリもまだ余裕がある。
画像の順番を入れ替えたり、サイズを変えたりの試行錯誤の末、
結論としては、携帯での Flash 再生で、透明度付きビットマップを重ね過ぎると、ある程度の深さから不透明で合成する制限でした。
しかもSWF中のSHAPEの数も(又は数が)トリガーになる謎制限。
Device Central で再現するので、Flash Lite の(多分暗黙の)制限だと思います。
考えてみれば、Alpha blending の処理は重たいので、そう何枚も重ねられないんですよね。
制限自体は妥当です。
という訳で、SWFEditor は無罪でした。
GD ライブラリの imagecopymerge を使って合成してから画像を差し込む方法を提案して、当初の目的は達成。
▼ヒアリング:
setActionVariables を使っていたので replaceActionStrings を勧めてきました。
実は既に試してたそうで、setActionVariables と同じように変数名を指定するものだと思って、それで動かないので使うのを諦めたとの事。
確かにわかりにくいので、マニュアルに図を追記しました。
あと、replaceBitmapData についても、単に Jpeg/PNG/GIF のどれでも指定できるだけに見えたみたいで、image id 以外にもサイズや色で指定できるという話をしたら、驚かれました。これはもっと宣伝した方がよさそう。^^;
会って直接話すことで学べる事は多いです。博多まで来て良かった。
▼その他:
- LLC (Low Cost Carrier) 初めて乗りました。JAL や ANA はサービス過剰だと思いました。
- お友達に勧められた、むっちゃん万十を見つけたけどテイクアウト方式で、近所で持ち込める場所見つからなかったので諦め。今度リベンジ。
- オフィスビルの前で社員の方が出迎えてくれました。感激しました。お土産も頂きました。有難うございます。
- 次、北海道辺りで困ってる人いないかな。(ドキドキ