FlashDevelop 本身采用.NET開發而成,可以運行在Windows環境之中。FlashDevelop動作輕快,對應ActionScript2/3,另外支持 HTML,JavaScript,CSS等高亮顯示,代碼自動輸入補全,IDE環境下的debug功能等。
flashdevelop 教程
創建FlashDevelop項目:
·在FlashDevelop中創建AS3 Flash IDE項目。
·請注意,你可以在現有的FLA文件附近創建這個項目,它不會添加任何文件(并且FlashDevelop永遠不會刪除現有的文件)。
組織項目
·建議將源代碼和發布元素分離開來
·所以在項目中創建兩個文件夾:“bin”(或“deploy”)和“src”(即源代碼)。
·打開項目屬性
·選擇Classpaths標簽
·在classpath中添加“src”文件夾路徑(通過點擊來)
保持類和FLA文件在“src”文件夾中,發布的SWF在“bin”(或”deploy”)文件夾中。
提示:為Adobe Flash Professional “fl”類啟用代碼完成功能:
·打開項目屬性
·選擇Compiler Options標簽
·在Intrinsic Libraries列表中添加Library\AS3\frameworks\FlashIDE
創建Adobe Flash Professional文檔(既“FLA”文檔)
·啟動Adobe Flash Professional(可以在FlashDevelop中按F6來啟動)
·新建一個AS3 Flash文檔
·在項目的“src”文件夾中保存FLA
·打開發布設置(格式化標簽)并把發布目標改為“../bin/xxx.swf”(xxx對應于你的FLA的文件名)那么它將會在合適的目錄中生成。
配置FLA
·在Adobe Flash Professional中打開FLA文檔
·打開文檔的ActionScript設置
·取消選擇“自動聲明舞臺實例”
我們改變的這些設置是非常重要的:
如果我們要為舞臺上的元素完成代碼這些是必須的。這意味著我們要在我們的類中手動聲明舞臺上的元素。請注意,你必須聲明所有的元素都有一個實例名稱。
定義文檔類和符號類
文檔類:
·文檔類是與主時間軸相關聯的類(既主類)
·在ActionScript設置或屬性面板(點擊Flash舞臺背景來得到文檔屬性)中定義文檔類(例如:“SampleProjectMain”)
仔細地選擇名稱來創建一些庫元件
·建議的做法是命名元件與他們的類相同(如:MySymbol)
·如果一個元件包含其他元件,這些子元件名應是其父元件類名的組合(如:MySymbol_background)這讓人更容易理解元件之間的關系。
提示:元件和類之間的差異
從技術上講,在AS3中的每個元件都自動有一個相關的類(從來沒有直接操作元件),但默認情況下,這些類具有奇怪的名字,因此,我們必須給它們一個固定的類名,使得它們能夠導入到我們的代碼中。
為ActionScript導出元件:
·在庫面板中右擊元件,選擇“屬性…”對話框
·選中“為ActionScript導出”并填入類名(如:MySymbol)
·不改變基類(如:flash.display.MovieClip)
提示:Flash告之類不存在
當你關聯文檔或元件到一個不存在的類時,Flash將警告類不存在,它將自動生成一個默認類。這不是問題,你可以隨時隨地創建一個相同名稱的自定義類。
編寫類
現在是時候回到FlashDevelop上來并創建相應的類:
·在項目的目錄樹中選擇你要創建類的位置
·然后右鍵:Add>New Class…
·鍵入類名(不用輸入包,它會在生成的類中自動添加)
提示:@author DefaultUser是什么?
首次創建一個類你可能在類注釋中看到這個:
/**
* ...
* @author DefaultUser (Tools -> Custom Arguments...)
*/
Custom Arguments是你可以在FlashDevelop中設置并在模板中使用的應用程序變量:
·在主菜單中,選擇Tools>Custom Arguments
·把DefaultUser的值替換為你的名字
PS:嘗試總是在這第一個注釋塊中添加一個一般類“角色”的描述(在上面“…”的地方添加)
比方說,我們已經把元件導出為MySymbol類了:
package
{
import flash.display.MovieClip;
public class MySymbol extends MovieClip
{
public function MySymbol()
{
trace("I'm a MySymbol instance called", name);
}
}
}
提示:關于文檔類和元件類:
·類必須聲明為public
·通常你的類將擴展flash.display.MovieClip
·但你可以選擇擴展flash.display.Sprite(元件的時間軸將被禁用)
·或擴展其它任意的至少擴展了flash.display.Sprite的用戶類
PS:當然,這并不適用于圖像,它最終必須擴展flash.display.BitmapData
在舞臺上聲明元件
正如前面建議的,如果你在FLA的ActionScript設置取消選擇“自動聲明舞臺實例”的話,無論哪一幀顯示此元件,我們都必須明確地在父容器類中聲明這個元件(如果它有一個自定義類的話)。
例如,在主時間軸上放置一個MySymbol實例,命名它為“mySymbol”。我們必須在文檔類中聲明它:
package
{
import flash.display.MovieClip;
public class SampleProjectMain extends MovieClip
{
public var mySymbol:MovieClip; // 動態類型
//public var mySymbol:MySymbol; // 強類型
public function SampleProjectMain()
{
trace("I'm the document");
if (mySymbol) mySymbol.x += 100;
}
}
}
提示:關于元件可見性
元件必須聲明為public,這是在時間軸上強制元件實例。期間任何其它聲明(internal,protected,private)都將失敗。
添加“時間軸代碼”
雖然有些人認為這是一種不好的做法(addFrameScript()可以用來避免它),但我認為在時間軸中添加一點代碼,這是完全可以的,因為它會使你的類更輕量。
例如,如果元件(或主時間軸)是一個多幀動畫,并且你想知道什么時候已經到達了一個特定的幀:
·添加“動作”層
·在時間軸上創建一個空白關鍵幀(例如最新的)
·在幀動作中寫入:
lastFrame();
·現在在元件類(或文檔類,如果你在主時間軸上的話)聲明lastFrame()方法:
package
{
import flash.display.MovieClip;
public class SampleProjectMain extends MovieClip
{
public var mySymbol:MovieClip; // 動態類型
//public var mySymbol:MySymbol; // 強類型
public function SampleProjectMain()
{
trace("I'm the document");
}
public function lastFrame():void
{
trace("we reached the last frame");
if (mySymbol) mySymbol.x += 100;
}
}
}
提示:AS3不像AS1/AS2一樣寬容
要注意經常檢查你操縱的元件不為空:
//是AS3, 如果mySymbol未定義
mySymbol.x += 100; // 拋出異常
if (mySymbol) mySymbol.x += 100; //正確
- PC官方版
- 安卓官方手機版
- IOS官方手機版