当我使用时:
loader = new MovieClipLoader();
_root.createEmptyMovieClip("level1",getNextHighestDepth());
_root.level1.createEmptyMovieClip("image",getNextHighestDepth());
loader.loadClip("http://someimage.jpg",_root.level1.image);
......它有效并且图像显示出来。 但是当我使用:
loader = new MovieClipLoader();
_root.createEmptyMovieClip("level1",getNextHighestDepth());
_root.level1.createEmptyMovieClip("level2",getNextHighestDepth());
_root.level1.level2.createEmptyMovieClip("image",getNextHighestDepth());
loader.loadClip("http://someimage.jpg",_root.level1.level2.image);
...图像没有显示出来。谁能告诉我为什么?我怎样才能做到这一点?
答案 0 :(得分:0)
您提供的深度将为“1”。那是你所期待的吗?
每个影片剪辑都有自己的一组深度,因此新创建的“图像”mc的nextHighestDepth()将为1.它不应该阻止加载图像。
答案 1 :(得分:0)
正如gthmb所说,你应该在同一个MovieClip上调用getNextHighestDepth(),就像你在createEmptyMovieClip()上一样。所以你的代码示例应该更像:
loader = new MovieClipLoader();
_root.createEmptyMovieClip("level1",_root.getNextHighestDepth());
_root.level1.createEmptyMovieClip("level2",_root.level1.getNextHighestDepth());
_root.level1.level2.createEmptyMovieClip("image",_root.level1.level2.getNextHighestDepth());
loader.loadClip("http://someimage.jpg",_root.level1.level2.image);
另外,我建议存储对创建的MovieClip的引用,这样你就不必在代码中每次出现时都使用完整路径,如下所示:
loader = new MovieClipLoader();
var level1:MovieClip = _root.createEmptyMovieClip("level1",_root.getNextHighestDepth());
var level2:MovieClip = level1.createEmptyMovieClip("level2",level1.getNextHighestDepth());
var image:MovieClip = level2.createEmptyMovieClip("image",level2.getNextHighestDepth());
loader.loadClip("http://someimage.jpg",image);