使用Graphics类绘制的Flash图形定位问题

使用Graphics类绘制的Flash图形定位问题,flash,actionscript-3,graphics,flash-cs3,Flash,Actionscript 3,Graphics,Flash Cs3,我正在使用FlashCS3构建一个简单的绘图应用程序。当用户单击一个按钮时,他们会选择一个特定的movieclip。在舞台的其他地方单击后,剪辑将实例化并添加到舞台的光标位置。我还添加了一个选项,可以单击添加的剪辑并在屏幕上拖动它。这一切都很好 问题是,我还希望能够通过Graphics类动态地绘制对象并将其添加到舞台上。无论何时以这种方式添加对象,它们的x和y坐标始终为0,0,无论我将它们放置在舞台的何处。这使得定位这些图形非常困难。我专门为这些动态绘制的图形创建了一个修改过的定位功能,虽然它“

我正在使用FlashCS3构建一个简单的绘图应用程序。当用户单击一个按钮时,他们会选择一个特定的movieclip。在舞台的其他地方单击后,剪辑将实例化并添加到舞台的光标位置。我还添加了一个选项,可以单击添加的剪辑并在屏幕上拖动它。这一切都很好


问题是,我还希望能够通过Graphics类动态地绘制对象并将其添加到舞台上。无论何时以这种方式添加对象,它们的x和y坐标始终为0,0,无论我将它们放置在舞台的何处。这使得定位这些图形非常困难。我专门为这些动态绘制的图形创建了一个修改过的定位功能,虽然它“起作用”,但感觉不如movieclip对象的定位灵敏。我仍然试图优化这个函数,但在我看来,理想的解决方案是当图形放置在像电影主题对象的中间位置时,图形具有非零坐标。是否有一些“变通方法”来实现此目的?

您可以使用矩阵类更改显示对象的注册点


你必须在一个电影唇内画画,然后移动这个电影唇。图形实际上绑定到对象本身,因此不能单独移动它们。因此,只需制作一个容器,在其上绘制,然后在另一个剪辑内移动容器。

如果要在movieclip/sprite中使用图形类进行绘制,则需要将其绘制为位图,并显示位图而不是movieclip。Movieclips只能保存如此多的向量信息,即使你画了一些东西,图形类创建的形状实际上仍然存在。你会发现,如果你用Doob先生的Stats类跟踪你的帧速率,当你开始填满电影剪辑时,fps会直线下降。解决方案是使用BitmapData的draw()方法,将movieclip中的内容复制到正在显示的位图中。创建位图时,必须将其链接到BitmapData。每次你调用draw它都会为你更新位图(这很好)

上周我开发了一个绘画应用程序,所以我对这个问题有第一手的经验