ActionScript 2 loadClip深度

时间:2011-12-09 15:17:20

标签: image actionscript actionscript-2

当我使用时:

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);

...图像没有显示出来。谁能告诉我为什么?我怎样才能做到这一点?

2 个答案:

答案 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);