Class 从类as3中删除图形
当我在游戏中单击一个按钮时,它会使用as3中的图形绘制形状。简单形状,如圆形和矩形 我想删除在我的一个类中发生某些事情时绘制的图形 基本上,当有一个hitTestObject(工作正常)时,我希望舞台上的所有图形都被清除Class 从类as3中删除图形,class,actionscript-3,flash,graphics,Class,Actionscript 3,Flash,Graphics,当我在游戏中单击一个按钮时,它会使用as3中的图形绘制形状。简单形状,如圆形和矩形 我想删除在我的一个类中发生某些事情时绘制的图形 基本上,当有一个hitTestObject(工作正常)时,我希望舞台上的所有图形都被清除 if (gb2.hitTestObject(h1s2)) { trace ("holed") ySpeed2=0; xSpeed2=0;
if (gb2.hitTestObject(h1s2))
{
trace ("holed")
ySpeed2=0;
xSpeed2=0;
this.visible=false;
var mcSplash:MovieClip =parent.getChildByName("mcSplash") as MovieClip;
mcSplash.visible=true;
//parent.drawings.graphics.clear();
}
使用parent.drawings.graphics.clear()的尝试;未成功,它给了我以下错误:
第481119行:通过静态类型flash的引用访问可能未定义的属性图形。显示:DisplayObjectContainer
有什么建议吗
更新:
这就是在最小时间线上绘制图形的方式
var drawings:Shape = new Shape;
for (i=0; i<numRecs; i++)
{
recStartX = Number(xmlContent.rec[i].startpoint.@ptx);
recStartY = Number(xmlContent.rec[i].startpoint.@pty);
recWidth = Number(xmlContent.rec[i].dimensions.@w);
recHeight = Number(xmlContent.rec[i].dimensions.@h);
fillColor=int(xmlContent.rec[i].look.fillhex);
lineThick = Number(xmlContent.rec[i].look.strokethick);
lineColor = int(xmlContent.rec[i].look.strokehex);
drawings.graphics.lineStyle(lineThick, lineColor);
drawings.graphics.beginFill(fillColor);
drawings.graphics.drawRect(recStartX,recStartY,recWidth,recHeight);
drawings.graphics.endFill();
}
var图纸:形状=新形状;
对于(i=0;i什么是draws
?!如果在mcSplash中绘制,则应使用mcSplash.graphics.clear()
。如果绘制名为draws
的子对象,则应首先作为子对象(在mcSplash获取之后)获取它:var draws=mcSplash.getChildByName('draws);draws.graphics.clear()
。您可以编写检查来查看发生了什么:if(mcSlpash){if(drawings){
,等等。创建一个数组并推入每个形状/rect。
然后迭代并删除
for(var iteration:int = 0; iteration < rectArray.length; iteration++)
this.removeChild(rectArray[iteration]);
希望这会有所帮助:)
Z我的初步猜测是绘图
在父级中不存在。请尝试调试您的应用程序,以了解父级
实际引用的是什么,以及它是否也是绘图
的父级。请检查上面的编辑sorrydrawings是否是绘制新形状的主时间线代码中的一个变量:-var drawings:Shape=new Shape();这还不够,因为我们不知道什么是parent
-您还没有指定执行此代码的位置。如果找到mcSplash
,则drawings
应与mcSplash
处于同一级别,否则将找不到它。只需修复路径-使用trace(child)
如果您不能使用断点..忘记父级,这没什么。这只是我试图使图形消失。我只需要在类内发生事件时删除主时间轴操作脚本中绘制的图形。还有其他建议吗?
MovieClip(this.root).removeChild(rectArray[iteration]);