我有一些在Flash Professional CS5中可視化創建的類,將繪製的結果轉換爲MovieClip並將符號敲入AS代碼。現在,我想爲課程添加一些屬性。更具體地說,我創建了Ball類,並且想要添加代表垂直和水平速度的變量。我如何編輯課程才能做到這一點?另外,當我想爲類添加一些可見的外部元素時,起初我決定在代碼本身中添加MovieClip屬性,但後來調用了方法.addChild(),這對我來說非常合適。現在,我無法對不可見的屬性進行同樣的操作。那麼,使用.addChild()添加可見元素並將它們添加到代碼本身之間有什麼區別?如何在代碼本身中添加任何內容?在AS3中編輯視覺創建的類
0
A
回答
1
您應該避免將物理與實際視覺表示混合。嘗試製作一個球類,其中包含velocityX
,velocityY
以及對MovieClip
的引用。使球類持有update()
,這可能會是這個樣子:
public function update() : void {
ballMovieClip.x += velocityX;
ballMovieClip.y += velocityY;
}
在主類,你可以使用Event.ENTER_FRAME
-event調用ball.update();
這種方式可以獨立更新你球的圖形和物理代碼。
1
您可以通過擴展或包裝容器類來修改Flash導入的類。
這個包裝是我在我的兩款遊戲中選擇的方法。我用它來添加各種繪製相關的屬性或附加對象。
public class WrapperOverSprite extends Sprite
{
private var instanceFromFlash: SomeClassTypeFromFlashViaSWC: new SomeClassTypeFromFlashViaSWC();
//Add whatever other variables you wish.
public function WrapperOverSprite ()
{
//Do stuff to your object.
}
//Can add whatever functions you wish...
}
不用說,這種方法,我用的通過,我在Flash/Flex Builder中導入的SWC文件導出從Flash對象。
2
您需要做的是創建一個外部ActionScript文件來保存類定義。做一個文件,把它Ball.as,並與
package {
import flash.display.*;
import flash.events.*;
public class Ball extends MovieClip {
public var vx:Number = 0;
public var vy:Number = 0;
// add more variables here
public function Ball() {
}
// add more functions here.
}
}
填補它在這一類中,你可以把所有你想要的函數和變量,並能夠從時間軸代碼訪問它們。將它放在與.fla相同的文件夾中,然後將球的MovieClip導出爲Ball,並將其擴展爲flash.display.MovieClip。 Flash將找到該類的定義並用它來代替生成的類。
注:
- 如果/當你添加更多的功能或變量,不要忘記添加訪問修飾符。 (公共,私人,受保護)
- 如果您更改與.fla相關的文件夾,則需要更改軟件包,因此,如果您爲遊戲的所有源創建了com/mygame文件夾,你可以將第一行改爲「package com.mygame {」,並將MovieClip導出爲「com.mygame.Ball」。
- 您可能必須將類更改爲動態類,方法是在public和class之間添加關鍵字「dynamic」。這意味着您可以在運行時向該類添加屬性,但速度會受到影響。
我不明白你的意思是「添加不可見的屬性」。addChild()函數應該適用於所有DisplayObjectContainer(Sprite和MovieClip,特別是)的子類,並且應該適用於DisplayObject的所有子類(包括Sprite,MovieClips,Bitmap,TextFields和Shapes)
相關問題
- 1. 編輯用視覺格式創建的NSLayoutConstraint
- 2. 編輯視圖創建者uiTableview類
- 3. 過度視覺編輯
- 4. 視覺編輯jquery旋鈕
- 5. 視覺svg編輯器
- 6. 網絡視覺編輯器
- 7. 視覺編輯VS2010中的AXML文件
- 8. 在Flex/Flash AS3中創建可編輯的形狀?
- 9. 在python中創建視覺效果?
- 10. Eclipse視覺指示被編輯的行
- 11. 視覺編輯wordpress html頁面/文章?
- 12. Wp視覺編輯器沒有顯示
- 13. eclipse視覺編輯器死了嗎?
- 14. 兒童視覺c編輯器
- 15. 視覺狀態圖編輯器
- 16. 創建的類似於AS3
- 17. 在AS3和AIR中創建文檔類
- 18. 在AS3中創建類和屬性
- 19. 「創建新的視覺類」按鈕不能在eclipse上點擊
- 20. 1-N實體創建/編輯視圖
- 21. 在iOS中創建可編輯的表格視圖?
- 22. 如何在ASP.NET MVC中創建可編輯的局部視圖
- 23. 如何在Visual Studio編輯器中禁用視覺「點」
- 24. SugarCRM編輯線索形式「編輯視圖」和「快速創建」
- 25. Flex/AS3動態創建類
- 26. 多對象視圖行爲 - 爲HasTraits子類創建編輯器
- 27. 創建類似於機器人默認視圖「創建/編輯聯繫人」
- 28. 編輯文本 - AS3
- 29. 有選擇地接受視覺工作室中的編輯?
- 30. 視覺工作室中的Eclipse編輯器右鍵欄
這是要走的路。 +1 – pkyeck