2012-01-29 70 views
0

我在舞台上计算全部元素时出现了一些问题。不幸的是,Flash中计算舞台上没有绘制对象(包括绘图对象,矩形等所有形状)的所有对象都是错过的。有什么方法可以数它们吗?计数舞台上的所有'绘图对象'

在此先感谢。

+0

最终目标是简单计算它们吗?还是有更多想要达到的目标? – ToddBFisher 2012-01-29 21:29:07

+0

嗯,我需要数它们并放入数组中以便稍后使用它们。 – mswiszcz 2012-01-29 21:37:49

+0

在这种情况下,你可以考虑使用graphics.copyFrom(),http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Graphics.html#copyFrom() – ToddBFisher 2012-01-29 21:42:10

回答

2

如果你指的是绘制原始图形,比如直线和圆形,那么不,没有办法。您只能寻址和修改容器(Shape,Sprite,MovieClip等),但是一旦绘制了原始矢量元素,就会失去对它的引用。您只能修改位图数据。

但是,您可以创建自己的课程并为Flash Player无法识别的所有元素保留一个计数器 - 只需在Graphics.clear()上绘制和重置某个元素时增加计数。

+0

大声笑,我想我们在同一时间阅读的问题:) – ToddBFisher 2012-01-29 21:30:29

+0

很可能:) – weltraumpirat 2012-01-29 21:35:24

+0

所以,唯一的方法来计数他们将他们转换为符号,是啊? – mswiszcz 2012-01-29 21:39:13

1

据我所知,没有像MovieClip那样的graphics.numChildrensee docs

最接近的替代方法是手动跟踪绘制的项数,只要通过数组/矢量或简单增量整数绘制它们即可。

+0

+1你是在正确的轨道上,以及;) – weltraumpirat 2012-01-29 22:29:17

0
  1. 复制所有对象(三菱商事的,图形的...等)
  2. 创建一个新的文件。
  3. 将对象粘贴到舞台
  4. 右键单击并选择....分配到图层。
  5. 检查显示的层数。

我相信这是我如何找到树中的叶数(在我的项目中)。

+0

这似乎有点过分杀,但可以适用于简单的情况。不过我认为OP也想将它们存储在一个数组中。 – 2012-10-10 20:32:36