對我這個只懂Actionscript 2.0的人來說,就算有Sample Code還是不知從何入手。
弄了老半天終於成功,因此在這記錄下來。
要運行Basic01.as,首先當然要下載Away3D啦。
最新版本:Version 2.5.0 / 3.5.0 > Sources > Sources >
Flash10
把.zip解壓至X:/XXXX/away3d_3_5_0
(e.g. D:/Flash Library/away3d_3_5_0/src, D:/Flash Library/away3d_3_5_0/src/away3d)
安放好Away3D後,進入下一步。
寫Actionscript有兩種主流方法,一是用Adobe Flash CS"X",一是用FlashDevelop。
前者要錢,或是從以「不能說的秘密」方式入手。
後者免費,代價是較麻煩,但用熟了應該比前者好用,亦是主流Programmer常用的工具。
以下兩種都簡單地說一下。
使用Adobe Flash CS"X"(下稱Flash)
在Flash介面裡,Actionscript主要寫在兩個地方,①Main Timeline;②Main Class。
大部份人都不建議①,但我覺得如果只寫幾句Code,放在Main Timeline會方便些。
正式Project就建議使用②的方法。
①Main Timeline
第一步
設定Away3D路徑:
Publish Setting > Flash > Script(S): Actionscript 3 > Settings > Source path > Browse
瀏覽至Away3D [src]資料夾 (e.g. D:/Flash Library/away3d_3_5_0/src)
第二步
由於寫到Main Timeline上,「package」、「class」和「extends Sprite」那些通通不要。
Basic01.as只取以下紅色部份,抄至Main Timeline第一格Frame裡。
Basic01.as
package
{
import away3d.containers.View3D;
import away3d.primitives.Sphere;
import flash.display.Sprite;
[SWF(width="500", height="400", frameRate="60", backgroundColor="#FFFFFF")]
public class Basic01 extends Sprite
{
public function Basic01()
{
// create a viewport
var View:View3D = new View3D({x:250,y:200});
addChild(View);
// create a sphere and put it on the 3D stage
var sphere:Sphere = new Sphere();
View.scene.addChild(sphere);
// render the view
View.render();
}
}
}
第三步
Export看成果。
②Main Class
第一步
設定Away3D路徑:
Publish Setting > Flash > Script(S): Actionscript 3 > Settings > Source path > Browse
瀏覽至Away3D [src]資料夾 (e.g. D:/Flash Library/away3d_3_5_0/src)
第二步
下載Basic01.as,並放到和.fla檔同一目錄下。
Document Properties > Main Class裡填上Basic01。(←跟Basic01.as同名)
第三步
Export看成果。
最新版本:FlashDevelop 3.2.1 RTM released > Download FlashDevelop 3.2.1 RTM
下載.exe檔,Double-click安裝。
使用FlashDevelop需要注意以下3點:
①Debug Flash Player (You need: Projector and ActiveX) 下載頁 FlashDevelop說明文件要求下載以下三項。
雖然我下載了,但只是放在C:Program FilesFlashDevelop,未有用到。
- Download the Windows Flash Player 10.1 ActiveX control content debugger (for IE) (EXE, 2.72 MB)
- Download the Windows Flash Player 10.1 Plugin content debugger (for Netscape-compatible browsers)
- Download the Windows Flash Player 10.1 Projector content debugger
解壓至X:/XXXX/flex_sdk_4_1
(e.g. D:/Flash Library/flex_sdk_4_1/bin, D:/Flash Library/flex_sdk_4_1/lib, D:/Flash Library/flex_sdk_4_1/samples)
③Java 1.6+ is required for the Flex compiler (ActionScript 3).
原本有,不另下載。
確認以上3點後,啓動FlashDevelop。
首先設定Adobe Flex SDK路徑:
Tool > Program Settings > AS3Context > Flex SDK Location > X:/XXXX/flex_sdk_4_1/bin
(e.g. D:/Flash Library/flex_sdk_4_1/bin)
建立新Project:
File > New Project > AS3 Project
Name: 任意
Location: 任意
Package: 留空
點選Create directory for project
點選OK
設定Away3D路徑:
Project > Properties > Classpaths > Add Classpath
瀏覽至[src]資料夾 (e.g. D:/Flash Library/away3d_3_5_0/src)
寫Code:
在自動生成的Main.as裡寫Actionscript。
藍色是自動生成的Code;紅色的部份是從Basic01.as抄過去的。
Main.as
package
{
import flash.display.Sprite;
import flash.events.Event;
import away3d.containers.View3D;
import away3d.primitives.Sphere;
import flash.display.Sprite;
[SWF(width="500", height="400", frameRate="60", backgroundColor="#FFFFFF")]
public class Main extends Sprite
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
// create a viewport
var View:View3D = new View3D({x:250,y:200});
addChild(View);
// create a sphere and put it on the 3D stage
var sphere:Sphere = new Sphere();
View.scene.addChild(sphere);
// render the view
View.render();
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
}
}
}
最後測試成果:
Project > Test Movie/Ctrl+Enter/F5