Actionscript 3 我可以管理Sprite内部的单线吗?

Actionscript 3 我可以管理Sprite内部的单线吗?,actionscript-3,Actionscript 3,我正在开发一个绘图应用程序,现在有一个问题。 有几千条线,必须画出来,但我也需要以某种方式一条一条地清除它们。或者-清除Sprite图形中的方形区域。 现在,我考虑使用数组并将每一行推送到新的精灵中,这样我就可以将这个新精灵添加到父级。但是这个解决方案看起来很糟糕,因为每一行都会创建新的精灵对象。 有没有办法在不为行创建精灵的情况下管理行?创建表示每行的数据对象。然后创建一个BitmapData对象,在其中绘制所有直线(例如,可以使用fillRect()为每一条直线绘制一个非常窄的rect)。在

我正在开发一个绘图应用程序,现在有一个问题。 有几千条线,必须画出来,但我也需要以某种方式一条一条地清除它们。或者-清除Sprite图形中的方形区域。 现在,我考虑使用数组并将每一行推送到新的精灵中,这样我就可以将这个新精灵添加到父级。但是这个解决方案看起来很糟糕,因为每一行都会创建新的精灵对象。
有没有办法在不为行创建精灵的情况下管理行?

创建表示每行的数据对象。然后创建一个BitmapData对象,在其中绘制所有直线(例如,可以使用fillRect()为每一条直线绘制一个非常窄的rect)。在需要更改表示形式之前,请清除矩形(使用fillRect()或floodFill()),然后只绘制仍适用的线

使用该位图数据创建位图,并将其添加到后台


注意:您应该能够轻松地以良好的性能表示数千行。如果您发现自己正在创建和销毁表示每一行的数据对象,请查看。

创建表示每一行的数据对象。然后创建一个BitmapData对象,在其中绘制所有直线(例如,可以使用fillRect()为每一条直线绘制一个非常窄的rect)。在需要更改表示形式之前,请清除矩形(使用fillRect()或floodFill()),然后只绘制仍适用的线

使用该位图数据创建位图,并将其添加到后台


注意:您应该能够轻松地以良好的性能表示数千行。如果您发现自己正在创建和销毁表示每一行的数据对象,请看。

我现在警告您,许多行将在很大程度上对应用程序的性能产生负面影响。我现在警告您,许多行将在很大程度上对应用程序的性能产生负面影响。
fillRect()
仅适用于正交对齐的行,对于公用线,请使用
draw()
。否则,这是一个很好的方法。当您有
moveTo()
lineTo()
方法用于
Graphics
对象时,为什么要使用
fillRect()
。对于对角线,我将在它自己的BitmapData上创建一条线,并使用copyPixels(),这比draw()快。对于copyPixels()和draw(),都必须有一个源对象,但对于fillRect(),则没有。@Gio--因为它的性能不好。这个实现与我以前的实现完全相同。我不能只清除位图数据,然后再次绘制所有数千行。
fillRect()
仅适用于正交对齐的行,对于普通行,请使用
draw()
。否则,这是一个很好的方法。当您有
moveTo()
lineTo()
方法用于
Graphics
对象时,为什么要使用
fillRect()
。对于对角线,我将在它自己的BitmapData上创建一条线,并使用copyPixels(),这比draw()快。对于copyPixels()和draw(),都必须有一个源对象,但对于fillRect(),则没有。@Gio--因为它的性能不好。这个实现与我以前的实现完全相同。我不能只清除位图数据,然后再画上千行。