2011-04-09 23 views
0

我不斷收到此錯誤:閃存UIComponent ...沒有工作...再次

TypeError: Error #1006: setSize is not a function. 
    at circles::SpiroUI/doSliders()[/Users/wakemana/Documents/Adobe Flash Builder 4/SpiroPaint/src/circles/SpiroUI.as:74] 
    at circles::SpiroUI()[/Users/wakemana/Documents/Adobe Flash Builder 4/SpiroPaint/src/circles/SpiroUI.as:42] 
    at circles::Spirograph()[/Users/wakemana/Documents/Adobe Flash Builder 4/SpiroPaint/src/circles/Spirograph.as:115] 
    at circles_fla::MainTimeline/frame1()[circles_fla.MainTimeline::frame1:2] 

我已經包括進口fl.controls.*fl.events.*和我也確信滑塊UI組件包含在文檔圖書館。

的UI一直在陌生的路上閃爍,似乎在重繪每幀或一些組件。我確實有過這一切工作,但自從推出一些新課程以來,它停止了工作。應用程序中的其餘部分正在工作,只是UI組件閃爍並且不起作用。

幫助讚賞:)

回答

1

某處的東西是沒有定義。

你的籌碼有
在圈:: SpiroUI/doSliders()... /circles/SpiroUI.as:74

因此,如果可能的話,您可能需要至少更新該行的問題以查看setSize的調用方式。

另一種選擇是嘗試在74行設置斷點,並檢查什麼是可利用的對象達到這樣的錯誤之前。

我跟你有什麼樣的UI組件,以確保該錯誤不是從早期。

我有一個小的文檔類slider

import flash.display.Sprite; 
    public class slider extends Sprite 
    { 
     var sp:SpiroUI; 
     public function slider() 
     { 
      sp = new SpiroUI(); 
      sp.doSliders(); 
      sp.x = 100; 
      sp.y = 100; 
      addChild(sp); 

     } 
    } 

然後我做了一個猜測,你怎麼了你SpiroUI,

import fl.controls.Slider; 

public class SpiroUI extends Slider 
{ 
    public function SpiroUI() 
    { 
     super(); 
    } 

    public function doSliders():void 
    { 
     setSize(10,10); 
    } 

} 

沒有辦法知道肯定的,雖然,嘗試過各種如何重現錯誤,但通常我希望這如果一個人被調用的SWF是不是在根目錄中的功能。

+0

感謝你的配偶,我沒有明確的理由爲什麼會發生這種情況。這可能是因爲我嘗試使用Flash Builder並更新了編譯器設置以包含Flash UI組件......然後再次,這不應該影響它...... *惱火和困惑* – Alex 2011-04-10 15:12:29

+0

好吧,想通了......這是因爲建造出口或類似的東西。還有就是用Flex組件庫的一些衝突是在這個過程中。我取代了所有的圖書館項目,問題消失了。再次感謝您的努力:) – Alex 2011-04-10 15:22:16

1

好像你SpiroUI類嘗試調用setSize方法,它是不是在課堂上講解。因爲編譯器沒有找到它的功能在於對象

羅布

+0

的setSize()是每個滑塊對象內的一個函數。 http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/controls/Slider.html#setSize() – Alex 2011-04-09 16:43:04

+1

從你的錯誤信息和問題的其餘部分我沒有看到你正在做什麼除了你之外的滑塊在圖書館裏有它!祝你好運 – robertp 2011-04-09 16:47:49