【问题标题】:Drawing shapes in Actionscript在 Actionscript 中绘制形状
【发布时间】:2012-10-10 21:24:06
【问题描述】:

所以我需要在画布上动态地在 Actionscript 中绘制一些自定义形状(比如一些由线和圆组成的旋转轮)。我正在使用 Flash Builder。

问题 1: 什么会更好(更快):

  • 在画布上绘制图形,在每一帧上清除所有内容并重新绘制?
  • 创建多个Shape对象并进行相应的变换?

问题 2: 我怎样才能相对于它的中心旋转一些形状,而不是相对于它的父级?(尝试使用矩阵,但它们相对于父容器工作)。也许有一些推送弹出矩阵功能?

【问题讨论】:

    标签: flash apache-flex matrix line shape


    【解决方案1】:

    问题 1:几乎可以肯定直接使用 Shapes 会更快。当并非所有内容都必须重绘等时,Flash Player 会更好地更新屏幕。但是,当性能受到质疑时,通常最好编写一个简短的测试。

    问题 2:ShapesDisplayObjects,所以你可以只使用 rotation 属性,它们将围绕原点((0,0) 点)旋转。只需确保相对于原点绘制形状,并使用其 x y 属性将其移动到正确的位置(例如,对于以 (70,70) 为中心的 20x20 矩形):

    var rect : Shape = new Shape();
    rect.graphics.beginFill(0xffffff);
    rect.graphics.drawRect(-10,-10,20,20); // center it properly about (0,0)
    rect.graphics.endFill();
    rect.x = 70.0; rect.y = 70.0; rect.rotation = 45.0; // move and rotate
    

    【讨论】:

    • 这个答案涵盖了我所有的问题以及我需要知道的一切。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2012-07-09
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多