[英]Compile an ActionScript class that is in a package to a swf using Flex Builder 3
[英]Adding button in Actionscript code : Using Flex Builder
我使用Flex Builder 3創建了一個新的動作腳本項目,並嘗試
運行以下文件。 我收到此錯誤:
定義:fl.controls:Button找不到。 我要做的就是向應用程序添加一個按鈕。 我該怎么辦?
package {
import PaperBase;
import org.papervision3d.objects.primitives.Cone;
import fl.controls.Button;
import fl.controls.Label;
import fl.events.ComponentEvent;
public class cone1 extends PaperBase {
public var cone:Cone = new Cone();
protected var sceneWidth:Number;
protected var sceneHeight:Number;
public function cone1() {
sceneWidth = stage.stageWidth
sceneHeight = stage.stageHeight;
init(sceneWidth*0.5,sceneHeight*0.5);//position of the cone
}
override protected function init3d():void {
cone.scale = 5;
cone.pitch(-40)
default_scene.addChild(cone);
}
override protected function processFrame():void {
cone.yaw(1);//rotation speed
}
}
}
fl。*軟件包是Flash Professional而不是Flex的一部分。 對於Flex,您應該使用mx。*軟件包中的組件。
話雖如此,我很確定可以在Flex中使用Flash組件。 我只是不確定它是如何完成的。
另外,您不需要實際的按鈕組件即可獲得“按鈕類似”的ui元素-擴展InteractiveObject的任何類都可以。 這包括Sprite和MovieClip。
布蘭登是正確的,fl包是Flash IDE的一部分。我也不知道,但是如果您知道該包在文件系統上的位置,則可以將其添加到類路徑中。在C:/程序文件/ adobe / flash中
如果您想在Flex Builder中使用組件,我想您需要制作一個Flex項目而不是一個ActionScript項目。
並將您的進口貨更改為:
import mx.controls.Button;
import mx.controls.Label;
import mx.events.FlexEvent;
同樣,如果您不需要使用組件,則可以將Sprite用作branden所說的按鈕,也可以只將TextField用作標簽。
如果您具有Flash IDE,另一個選擇是制作一個SimpleButton,按F8選擇按鈕,然后單擊Enter。 然后在庫面板中右鍵單擊並選擇鏈接名稱,為其指定鏈接名稱。 然后導出.swf並將swf放入項目的src文件夾中,並將其嵌入如下:
[Embed(source="flashfile.swf")]
public var myButton:Class;
您甚至可以通過這種方式導出Flash IDE組件,但不確定...實際上,如果[Embed]元數據可以在ActionScript項目中工作,或者只是在flex項目中工作,我並不是100%積極,因此您必須檢查一下。
這取決於您擁有的IDE版本,對於CS4和Mac,位置為/ Applications / Adobe Flash CS4 / Common / First Run / Classes
將那個文件夾或與您的安裝/操作系統相關的文件夾添加到flashbuilder / eclipse中的類路徑中,它將很好地解釋類調用。
如果您要編寫純動作腳本,不想使用flex組件,或者在IDE方法中采用混合編碼和設計,這是很有意義的。
@philip embed標簽不能在純ActionScript中使用
不知道為什么要這么做,但是如果您需要將Flash庫導入到flex中,請嘗試將想要的內容拖到flash的舞台上,並導出為.swc文件以導入到Flex項目中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.