var myObject:Sprite = new Sprite()之間的區別是什麼? 和 var myObject:Sprite = new MovieClip();actionscript 3.0 OPP類型和類
回答
MovieClip和Sprite是單獨的類,儘管彼此相關,因爲MovieClip擴展了Sprite。因此,MovieClip具有Sprite所具有的所有相同功能,並且它還增加了更多,主要與時間軸動畫(play(),stop(),gotoAndPlay(),addFrameScript()等有關。)
因爲MovieClip具有與Sprite相同的功能,您可以將MovieClip對象分配給類型爲Sprite的變量。
var myObject : Sprite = new MovieClip();
雪碧,然而,這並不共享所有MovieClip的功能,所以這是行不通的其他方式:如果你想知道一個特定的類繼承鏈
// Will not work
var myObject : MovieClip = new Sprite();
,檢查出文檔,例如for MovieClip:。你可以看到它擴展了Sprite,而後者繼而擴展了InteractiveObject,依此類推。
在與語言無關的術語中,這稱爲繼承,其優點之一是polymorphism。
其中之一是不正確的,其中之一就是:)
var myObject:Sprite = new Sprite();
是好的,你說這是類型Sprite(myObject的後位:),然後調用構造函數雪碧'='之後:新的Sprite();在另一個你仍然說它是類型Sprite(myObject:Sprite),然後當你說新的MovieClip()時調用MovieClip的構造函數;
如果你想創建一個影片剪輯:
var newMC:MovieClip = new MovieClip();
兩者都是「正確的」,但一個依賴於繼承的概念,而另一個則不是。 – richardolsson
啊,我明白了,好吧,我在那裏學到了東西;) – debu
好吧,我很高興你做到了。 :) – richardolsson
不同的是,
var myObject : Sprite = new Sprite();
聲明Sprite
類型的新變量,並用新的Sprite
對象賦給它,而
var myObject : Sprite = new MovieClip();
聲明類型的新變量併爲其指定一個新的MovieClip
對象。
MovieClip
繼承自Sprite
,因此將MovieClip投射到Sprite沒有問題。 MovieClip和Sprite之間有一些差異。主要區別在於MovieClip具有時間軸,而Sprite不具有時間軸。
- 1. ActionScript 3.0類
- 2. ActionScript 3.0:類關係
- 3. actionscript 3.0類型強制錯誤
- 4. ActionScript 3.0 stageWidth自定義類
- 5. 傳遞變量從類類和存儲變量的ActionScript 3.0
- 6. Actionscript 3.0:幫助鏈接文檔類和音頻滑塊類
- 7. ActionScript 2.0和ActionScript 3.0項目
- 8. ActionScript動態類型?
- 9. ActionScript變量類型
- 10. Actionscript 3.0,從外部類獲取xml?
- 11. 從fla文件到actionscript 3.0中的類
- 12. ActionScript 3.0:在類中共享屬性
- 13. ActionScript 3.0 TransformGestureEvent和MouseEvent
- 14. ActionScript 3.0 textInput和Display
- 15. ActionScript 3.0 gotoAndStop和gotoAndPlay
- 16. 在Actionscript 3.0中初始化未知類型
- 17. Actionscript 3.0:類型未找到或不是編譯時常量
- 18. Actionscript 3.0的模型框架
- 19. ActionScript 3.0 import swf
- 20. 的Joomla 3.0不附和用戶類型
- 21. Azure和F#3.0類型提供程序
- 22. 蟒3.0和pickle.load類型錯誤
- 23. 在Actionscript 3.0中加載一個類作爲類?
- 24. Flex/Actionscript類型錯誤#1034
- 25. ActionScript 3.0命名空間,嵌入和庫類
- 26. Actionscript 3.0 swap
- 27. WSS 3.0:爲內容類型
- 28. Flash Actionscript 3.0 FLVPlayback和VideoEvent.STATE_CHANGE Oddities
- 29. 連接Actionscript 3.0和PHP?
- 30. actionscript中的泛型(返回類型與參數類型相同)
謝謝大家的幫助。 我正在使用組合模式。所有的組件都是精靈,除了一個是movieClip。更新所有組件時,如何處理movieClip的異常? – user229738
@quan,我建議你發佈一個單獨的問題,並更深入地描述你想實現的目標。 – richardolsson