グローバルを汚すな
こんにちは
Globalにわざわざobjectを置くということはあまりないと思うのですが
たまに指定し忘れてsoundObjectとか置いてしまいます。その所為で
一度案件でリンク元swfファイルの音が消えるというバグが起こったことがあります。
つまり
html①に記述されたjs①で表示しているswf①(別の会社の人が作った)からgetURLでhtml②開いて
そのhtml②の中でjs②からswf②(僕が作った)を表示したときに
swf①の音が3種類のうち1つ消える。という現象です。
結局原因はどちらのswfもGlobalにsoundObject置いておりswf②にsoundObject生成した時に上書かれた。
ということなので_rootに空のmc作ってそこにattachSoundして解決しました。
しかしglobalを使わなければすむ問題なので
よほどのことがない限りGlobalに物置かないようにしましょう。
_root.createEmptyMovieClip("globalSE",this.getNextHighestDepth());
_root.globalSE.createEmptyMovieClip("seA",_root.globalSE.getNextHighestDepth());
_root.globalSE.createEmptyMovieClip("seB",_root.globalSE.getNextHighestDepth());var obj0_sound:Sound = new Sound(this.globalSE.seA);
var obj1_sound:Sound = new Sound(this.globalSE,seB);
obj0_sound.attachSound("type_01Sound");
obj1_sound.attachSound("main_01Sound");
@AS:2.0