Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 我应该在Flex4中使用Sprite吗?_Apache Flex_Flex4_Sprite - Fatal编程技术网

Apache flex 我应该在Flex4中使用Sprite吗?

Apache flex 我应该在Flex4中使用Sprite吗?,apache-flex,flex4,sprite,Apache Flex,Flex4,Sprite,我想给精灵添加一个Rect,但失败了。 Rect只能与addElement一起添加,而Sprite没有(只有addChild)。 还有什么选择?不,你实际上不想使用精灵或电影唇。Flex中的UI层基于UIComponent,因此框架希望将此类用作基类。测量/调整大小、定位等基于Flex组件生命周期,必须由组件显式/隐式地实现,以便与框架一起工作 其他一切都是与框架的斗争,失去了很多好处。从原则上讲,我有点不同意@Florian Salihovic的回答。Sprite是Flash player中本

我想给精灵添加一个Rect,但失败了。 Rect只能与addElement一起添加,而Sprite没有(只有addChild)。
还有什么选择?

不,你实际上不想使用精灵或电影唇。Flex中的UI层基于UIComponent,因此框架希望将此类用作基类。测量/调整大小、定位等基于Flex组件生命周期,必须由组件显式/隐式地实现,以便与框架一起工作


其他一切都是与框架的斗争,失去了很多好处。

从原则上讲,我有点不同意@Florian Salihovic的回答。
Sprite
是Flash player中本机定义的低级对象。它比任何Flex组件都要轻得多。如果它满足您的需求,为什么不在应用程序中使用它呢

您只需注意,
Sprite
不会像Flex组件那样完成所有的奇特功能。这限制了它在Flex应用程序中的使用,但无论如何,并不排除它

诚然,我并不经常在Flex中使用
Sprite
。我只想说它是好的,在你的Flex应用程序中使用
Sprite
有非常好的场景:

  • 使用
    精灵
    作为遮罩
  • 对Flex组件内部的子对象使用
    Sprite
  • 在轻量级对象上使用
    Graphics
    API进行编程绘图
对于您的具体场景,已经提出的建议很好,我将进一步阐述:

  • 如果你只需要一个矩形,那就在精灵上画一个矩形怎么样?听起来你已经计划在上面画些别的东西了
  • FXG非常棒,它的语法类似于Spark图形原语(如
    Rect
    ),因此它并不陌生。在Flex应用程序中实例化FXG对象时,可以将其键入
    SpriteVisualElement
    。因此,您在FXG中以声明方式绘制的图形可以实例化为
    SpriteVisualElement
    ,然后您可以访问它的
    Graphics
    api在其上进行其他绘制

我应该改用Group吗?UIComponent不能添加元素,我必须使用SkinnableContainer,它比UIComponent重得多,更不用说Sprite了。使用Flex时,最好的方法是使用FXGAPI。基本上,您可以将命令绘制到spark.primitives.Graphic中,从而扩展组。你可以用MXML描述一切,只需创建一个图形组件的实例。是的,我真的理解你的观点,也支持你的观点。但在我看来,为了真正开始工作,Flash/Flex混合动力车不是最好的选择。特别是对于初学者,他们首先需要了解框架。