【发布时间】:2016-04-29 07:32:57
【问题描述】:
我在使用 AS3 和 addChild 方法时遇到问题。
首先,我创建了一个名为“容器”的对象。在容器内部,我使用名为“holder”的库中的空 MovieClip 创建了一个空对象。然后我在 container.holder 中创建 Movieclips 但我无法访问 MovieClips!有谁知道为什么?代码如下:
// Creating object
var container:Object {
x: 30,
y: 30
}
// Empty object
var eObject: MovieClip = new MovieClip();
container.holder = eObject;
// Creating Movieclips
var mc : MovieClip;
for (var i : int = 0; i < 5; i++) {
var mc: _myClip = new _myClip(); // _myClip is a MC from my library.
mc.name = "myMc"+ i;
mc.x = 10;
container.holder.addChild(mc);
}
// Calling MovieClips
container.holder["myMc"+3].x = 40; // Nothing happens
【问题讨论】:
-
容器必须有像 x 和 y 这样的“holder”属性?
-
我需要调用container.holder[myMC3],比如un as2: container.holder.attachMovie(mc, "myMC"+i, 0);
-
我不明白你在做什么。在 Object 中有一个 MovieClip 有什么意义?它也应该是一个 MovieClip 吗?当您尝试设置 Movieclip 的 x 属性时应该发生什么 - 电影剪辑甚至不可见,因为它只是在一个对象内。
-
我正在做从 as2 到 as3 的 TonyPA 瓷砖教程。他创建了游戏对象。然后,在游戏对象内部,他创建了“剪辑”并添加了一个空的 mc 来保存图块和角色。在 as2 中,他使用以下方法附加图块:game.clip.attachMovie("tiles_mc", "t_"+i+"_"+j", 1);
-
然后他可以调用 game.clip[name] 编辑图块(名称将是 t_i_j),我需要的是这个,但在 AS3 中。