[英]AS3 Scope issue, How do I dynamically create a new MC in a package/class?
非常感谢你花时间陪伴! 这是我的问题,...
public function addNewMc():void{
var newMC:MovieClip= new MovieClip();
this.addChild(newMC);
}
public function removeOldMc(newMC):void{
this.removeChild(newMC);
}
如何在方法中创建一个新的MovieClip,该方法可在整个类中使用,而无需在类的顶部进行定义? 并获得额外积分,无需使用退货。
如果第一个函数addNewMc返回值newMC并将其传递给任何其他方法,则可以使它工作,但是对于我正在写的东西,我希望将我的返回值用完其他东西。 谢谢!
不知道我是否完全了解您,但是听起来您想在不显式定义的情况下访问动态创建的Movieclip? 那正确吗? 如果是这样,那么您可以做您现在所拥有的,但是添加一种检索方法:
public function addNewMc():void{
var newMC:MovieClip= new MovieClip();
this.addChild(newMC);
}
public function getMC():MovieClip
{
var len:uint = this.numChildren;
while(len--)
{
var tempObj:* = this.getChildAt(len);
if(tempObj is MovieClip)
return MovieClip(tempObj);
}
return null;
}
您还可以将name属性添加到动态创建的动画片段中:
public function addNewMc():void
{
var newMC:MovieClip= new MovieClip();
newMC.name = "new_MC";
this.addChild(newMC);
}
您可以像这样检索:
this.getChildByName("new_MC");
再一次,不知道我是否理解您的确切要求,干杯吧;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.