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