2012-04-19 66 views
0

看看下面的代碼。s:SpriteVisualElement和「組件聲明不允許在這裏」

<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

's:SpriteVisualElement'不是一個容器類,所以這就是爲什麼'組件聲明不允許在這裏' – RIAstar 2012-04-19 12:44:39

回答

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(); 
     } 
    } 
} 

檢查這個代碼...

0

我很確定一個SpriteVisualelement不能包含子元素(在MXML中),因爲它不是一個容器。

您可以更改PNGCanvas以擴展Canvas;然後使用它來代替你的SpriteVisualElement。

此外,您可以使用ActionScript將您的PNGCanvas實例作爲子項添加到您的SpriteVisualElement中;但它稍微複雜一些。

0

你的代碼可能不由於這...

SpriteVisualElement類是一個輕量級Spri基於te的IVisualElement接口的實現。 Spark容器可以佈局並呈現SpriteVisualElement對象。 如果您使用ActionScript將FXG組件添加到應用程序,則它應該是SpriteVisualElement類型。

相關問題