[as]
this.moge_mc.setMask(this.mask_mc);
function onMouseUp() {
this.hoge_mc.swapDepths(this.moge_mc);
}
[/as]
みたいにした Flash 8 の swf を Flex から↓みたいに load すると setMask も swapDepths も効かなくなる。なんだこれ?
[as]
package {
import flash.display.*;
import flash.net.URLRequest;
import flash.events.Event;
[SWF(backgroundColor=0xffffff, width=180, height=180)]
public class LoadSWF extends Sprite {
private var _loader:Loader;
public function LoadSWF() {
stage.scaleMode = StageScaleMode.NO_SCALE;
this._loader = new Loader();
this._loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.handleLoadComplete);
this._loader.load(new URLRequest(‘fla8.swf’));
}
public function handleLoadComplete(e:Event):void {
stage.addChild(this._loader.content);
}
}
}
[/as]
こんにちわ。
Flash 9 でしか試していませんが、同じような現象は確認できたので、少しいじってみました。
この行を
stage.addChild(this._loader.content);
こうすることで
stage.addChild(this._loader);
うまくいく気がしますが、どうでしょうか?
> taka:nium さん
stage.addChild(this._loader);
にしたらほんとにでけたです。さんきゅです。
でもなんで _loader.content にしてたんだろ。。。どっかで見たんだよきっと。
_loader と _loader.content のどちらも DisplayObject なので、AVM2 のみで扱う分には、記述的には問題ないと思います。
予想ですが、AVM1 と AVM2 が相互に運用出来ないにも拘らず、AVM1 オブジェクトである FL8 のデータを AVM2 の子オブジェクトに登録しようとして、エラってるような気がしました。
Loader が何かクッション的な処理してそうな感じですね。
http://livedocs.adobe.com/flex/2_jp/langref/flash/display/AVM1Movie.html
> taka:nium さん
ううむ。中の人しかわからんかんじすね。。
まひとまず回避方法わかつたので良しとしよー。