看看以下代码。
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:view="client.view.*" minWidth="955" minHeight="600">
<s:Panel x="10" y="10" height="100%" title="CTW" borderColor="#008040" fontFamily="Arial" fontWeight="bold" fontSize="13">
<s:HGroup>
...
<s:Scroller id="canvasGroup" width="650" height="500">
<s:Group>
<s:SpriteVisualElement>
<view:PNGCanvas id="canvas" /> <!-- error is thrown here -->
</s:SpriteVisualElement>
</s:Group>
</s:Scroller>
</s:HGroup>
</s:Panel>
</s:Application>
PNGCanvas
延伸flash.display.Sprite
。我收到错误component declarations are not allowed here
(在标有error is thrown here
的行上)。这有什么不对?
提前谢谢!!!
答案 0 :(得分:2)
你的代码应该是这样的......
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600" xmlns:view="view.*">
<s:Panel x="10" y="10" height="100%" title="CTW" borderColor="#008040" fontFamily="Arial" fontWeight="bold" fontSize="13">
<s:HGroup>
<s:Scroller id="canvasGroup" width="650" height="500">
<s:Group>
<view:PNGCanvas width="100" height="100"/>
</s:Group>
</s:Scroller>
</s:HGroup>
</s:Panel>
</s:Application>
和PNGCanvas类应该由SpriteVisualElement
扩展package view
{
import spark.core.SpriteVisualElement;
public class PNGCanvas extends SpriteVisualElement
{
public function PNGCanvas()
{
super();
}
}
}
检查此代码......
答案 1 :(得分:0)
我很确定A SpriteVisualelement不能生成子项(在MXML中),因为它不是容器。
您可以更改PNGCanvas以扩展Canvas;然后使用它而不是你的SpriteVisualElement。
此外,您可以使用ActionScript将PNGCanvas实例作为子项添加到SpriteVisualElement;但它稍微复杂一点。
答案 2 :(得分:0)
由于这个原因,您的代码可能无法运行...
SpriteVisualElement类是一个基于Sprite的轻量级IVisualElement接口实现。 Spark容器可以布局并呈现SpriteVisualElement对象。 如果使用ActionScript将FXG组件添加到应用程序,则它应为SpriteVisualElement类型。