我对as3有点新意,如果这些都是愚蠢的问题,请原谅我。两个问题......
前提: 我正在从swf文件加载一个角色,并想要添加头像。我有他动画走路和站立(stand_mc,walk_mc)。我也将他的身体部位分开,所以在每个动画中,mc是head_mc,body_mc等等。
第一个问题,我如何访问任何动画的身体部位?这是我目前的代码:
var WalkAnim:Class = SWFLoader.getClass('walk_mc'); //Using Greensock loader; but it's the same as using appDomain.getDefinition();
var walkAnim:MovieClip = new WalkAnim();
addChild(walkAnim);
第二个问题,添加walkAnim只会创建一个mc定义的实例。如何编辑库中的定义以执行类似..
的操作 var Hat:Class = SWFLoader.getClass('accessory_hat_mc');
var hat = new Hat();
WalkAnim:addChild(Hat)//???
因此,如果我在舞台上有多个实例,它们都将被更新。在此先感谢您的帮助!
答案 0 :(得分:0)
基本上,要访问子元素,请使用点语法。这看起来像这样(最后一行):
var WalkAnim:Class = SWFLoader.getClass('walk_mc');
var walkAnim:WalkAnim = new WalkAnim(); // I have typed your var as WalkAnim, not MovieClip.
addChild(walkAnim);
walkAnim.head_mc.rotation += 5;
要回答第二个问题,您将无法在运行时编辑定义。您可以通过以下方式向每个实例添加项目:
var Hat:Class = SWFLoader.getClass('accessory_hat_mc');
var myHat:Hat = new Hat();
walkAnim.head_mc.addChild(myHat);