2010年11月3日 星期三

Method方法 : Slice() - 摘取陣列的一部份, 成為新陣列

Array.slice()用來摘取陣列的一部份,並將它當成新的陣列傳回來

語法:
陣列物件.slice(開始索引,終止索引)

例:
new Array = oldArray.slice(2,5);

//取得oldArray陣列中元素索引2-4的元素資料而生新陣列newArray

2010年9月20日 星期一

AS 3.0 類別Class:Sound-- Loading sound

var req:URLRequest = new URLRequest ("meteor.mp3")
var sound:Sound = new Sound();

function soundLoaded(event:Event):void{
sound.play();

}

sound.addEventListener(Event.COMPLETE,soundLoaded);
sound.load(req);

2010年9月14日 星期二

Highlight HTML Text -- html text 加上底色

< font style="background-color:#ffffcc" > testing </font>

完成
testing

AS 3.0 Preloader(2)

var req:URLRequest = new URLRequest("drag.swf");
var loader:Loader= new Loader();



function fileLoaded (event:Event):void
{
addChild(loader); }



function preload(event:ProgressEvent):void{

var percent:Number =Math.round(event.bytesLoaded/event.bytesTotal*100);

preload_txt.text= String(percent)+"%"

}

loader.contentLoaderInfo.addEventListener(Event.COMPLETE,fileLoaded);


loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,preload);



loader.load(req);

//解說
Event.COMPLETE 事件加載完畢調度
ProgressEvent.PROGRESS 事件加載的過程中調度,並附帶加載情況

2010年9月10日 星期五

AS 3.0 Preloader

部份內容, 轉載自文章:
http://benlibra.blogspot.com/2009/02/as3-preloader.html

AS3:預載程式( Preloader )
預載的方式,只需兩個時間軸圖層(Timeline Layer):一個圖層(圖層名稱設為:text)置入「動態文字」,並設定好文字的樣式與大小,物件名稱(Instance Name)設為:percent;另一圖層(圖層名稱設為:actions)為Actionscript圖層,輸入下列ActionScript程式碼:

//定義預載器為:myLoader
var myLoader: Loader = new Loader();

//使用自訂功能:loop 監聽myLoader的載入進度
myLoader.contentLoaderInfo.addEventlistener(ProgressEvent.PROGRESS, loop);

//使用自訂功能:done 監聽myLoader是否已完成載入
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,done);

//用myLoader載入外部檔案:content.swf
myLoader.load(new URLRequest("content.swf"));

function loop(e:ProgressEvent):void{
//宣告變數perc的值為:已載入位元大小/總位元大小

var perc:Number=e.bytesLoaded/e.bytesTotal;
//將perc的最小整數值轉為為字串,並指定給percent

percent.text = Math.ceil(perc).toString();
}

function done(e:Event):void{

removeChild(percent);
//清除動態文字percent的內容
percent=null;

//把myLoader載入的內容放上舞台(Stage)
addChild(myLoader);

}





2010年9月7日 星期二

AS 3.0 類別Class:URLRequest--Loading swf in flash

var req:URLRequest = new URLRequest("drag.swf");
var loader:Loader = new Loader();

loader.load(req);
addChild(loader);



1個Loader 類別只能載入1個外部swf檔或圖片檔,若要載入多個file, 要建立相對數量的Loader
Loader物件.方法或屬性

建構Loader物件
Loader物件名稱 = new Loader()
Var Loader 物件名稱: Loader = new Loader()

方法load() (檔案來源)
Loader.load(req);
將外部檔案匯入物件成為Loader物件的子物件

HTML 符號代碼表 HTML Symbol Entities

圖片引自:
http://www.cheat-sheets.org/saved-copy/characters_cheat_sheet.png

2010年9月6日 星期一

AS 3.0 Class 類别 Date -- 時間日期的取得與設定

fla stage 上要有的物件:
1) dynamic text, 名為"date_txt"
2) dynamic text, 名為"time_txt"

actionscript 上, 首先要宣告變數:
1)宣告資料類型為DATE
2)用來存放月份/日期/小時/分鐘 的變數
3)定義function , 名為updateTime()
4)用ENTER_FRAME來更新日期資料, 影片播放1格, 便執行1次updateTime()
5) 建立Date類別的實體, 存入today變數中 , getMonth()/ getDate()/ getHours / getMinutes 都是方法(method)
6) 顯示分鐘時, 要用2位數, 例如:"09:15", 所以用minTxt (string) 變數, 加入if else 條件

Actionscript 如下:
//宣告資料類型為Date的變數
var today:Date;

//宣告資料類型為 Number,將用來存放月份和日期的變數
var month:Number;
var date:Number;


//宣告資料類型為 Number,將用來存放時和分的變數
var hour:Number;
var minute:Number;


//資料類型為 String,用來存放要顯示之分鐘數的變數
var minTxt:String;


//取得現在日期時間之函式
function updateTime(myEvent:Event){
today= new Date(); //建立 Date 類別之實體,以取得現在時間
month= today.getMonth()+1;//取得月份
date= today.getDate(); //取得日期
hour= today.getHours(); //取得小時
minute= today.getMinutes(); //取得分鐘


//處理要顯示之分鐘數
if(minute<10){
minTxt="0"+minute;}

else{

minTxt=minute.toString();}



//將日期和時間顯示在文字欄位中
date_txt.text=month+"月"+date+"日";
time_txt.text=hour+":"+minTxt;

}

//以影格播放之頻率執行 updateTime 函式
this.addEventListener(Event.ENTER_FRAME,updateTime);

2010年8月26日 星期四

AS 3.0 類別Class:URLRequest--Loading picture in flash

1) 預備圖片, 例 "cart.gif"

2) actionsript 寫在keyframe 內, 如下:

var req:URLRequest = new URLRequest("cart.gif");
var loader:Loader = new Loader();
loader.load(req);
addChild(loader);



URLRequest 物件名稱= new URLRequest(目標路徑)
Var URLRequest 物件名稱: URLRequest = new URLRequest(目標路徑)

URLRequest
套件 flash.net
類別 public final class URLRequest
繼承 URLRequest Object
URLRequest 類別會在單一 HTTP 要求中捕捉所有資訊。 URLRequest 物件會傳遞給 URLStream、URLLoader、Loader 和其它載入作業的 load() 方法 (以便起始 URL 下載)

Loader
套件 flash.display
類別 public class Loader
繼承 Loader DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object
Loader 類別可用來載入 SWF 檔案或影像檔 (JPG、PNG 或 GIF)。 請使用 load() 方法來起始載入。 載入的顯示物件會當做 Loader 物件的子系加入。
請使用 URLLoader 類別來載入文字或二進位資料。

Loader 類別會覆寫下列所繼承的方法,因為 Loader 物件只擁有一個子顯示物件,也就是它所載入的顯示物件。
呼叫下列方法會擲出例外:addChild()、addChildAt()、removeChild()、removeChildAt() 與 setChildIndex()。
若要移除所載入的顯示物件,必須將 Loader 物件從其上層的 DisplayObjectContainer 子陣列中移除。

2010年8月25日 星期三

1)預備txt file, 入面打上文字 , 名為"external.txt"
2) 在fla 中, create dynamic text, 屬性"external_txt"

var req:URLRequest= new URLRequest("external.txt");
var loader:URLLoader = new URLLoader();

function fileLoaded(event:Event):void
{
external_txt.text=loader.data;
}

loader.addEventListener(Event.COMPLETE,fileLoaded);
loader.load(req);

解說:
external.txt--係txt file 的external.txt
external_txt--係dynamic text 的external.txt

配合css 及超連結 styling links with css

1)預備txt file, 入面打上文字 , 名為"html.txt"
2) 在fla 中, create dynamic text, 屬性"external_txt"
3)預備 css file, 將超連結set style , 名為"styles.css"

css 內容:
a{ color: #CC0000; text-decoration:none;}
a:hover{ text-decoration:underline;}

3) Actionscript 如下:
var req:URLRequest= new URLRequest("html.txt");
var loader:URLLoader = new URLLoader();
var cssReq:URLRequest = new URLRequest("styles.css");
var cssLoader:URLLoader = new URLLoader();

function fileLoaded(event:Event):void
{
external_txt.htmlText=loader.data;
}


function cssLoaded(event:Event):void
{
var sheet:StyleSheet = new StyleSheet();
sheet.parseCSS(cssLoader.data);
external_txt.styleSheet=sheet;
}

loader.addEventListener(Event.COMPLETE,fileLoaded);
loader.load(req);
cssLoader.addEventListener(Event.COMPLETE,cssLoaded);
cssLoader.load(cssReq);


解說:
StyleSheet 類別
parseCSS()方法
會解析 CSSText 中的 CSS,並以該 CSS 載入樣式表。
如果 CSSText 中的樣式已經在 styleSheet 中,便會保留 styleSheet 中的屬性,
而且只會在 styleSheet 新增或變更 CSSText 中的屬性。
若要擴充原生 CSS 剖析功能,可以建立 StyleShee 類別的子類別,以覆寫這個方法。

2010年7月28日 星期三

variable 宣告變數

1) var 變數 = 初始值

例如: var msg = : "Actionscript";
宣告資料值為 "Actionscript", 資料型態為字串的變數

例如:var myNum = 20;
宣告資料值為 "20", 資料型態為數值的變數

2) var 變數 : 資料類型 = 初始值
例如:var A: Number = 20, B: Number=30;
例如:var A: Boolean = true;

3) var 變數1, 變數2, ...變數N
例如:var A,B,C

2010年6月24日 星期四

gotoAndStop / gotoAndPlay , 2.0 與3.0 的分別

指定按鈕去某個場景或影格


actionscript 2.0 語法: (script寫在按鈕之上)


on (release) {

gotoAndStop("場景名",影格數);

}



actionscript 3.0 語法: (script寫在獨立的frame上)


flower_btn.addEventListener(MouseEvent.CLICK,flower);

function flower(me:MouseEvent){

gotoAndStop(影格數,"場景名");

navigateToURL 網頁連結 (2)

for actionsript 3.0, 原來還有一個更"方便"的方法:

on(release) {
navigateToURL("http://www.yahoo.com.hk/", "_blank");
}

在button 上面寫這段script 便可

2010年6月20日 星期日

navigateToURL 網頁連結

ActionScript 2.0 語法如下:


btn_Test.onRelease=function{
getURL("http://daydaystudy.blogspot.com/");
}




ActionScript 3.0 語法如下:

function link (event:MouseEvent):void{
var newLink:URLRequest=new URLRequest("http://daydaystudy.blogspot.com/");
navigateToURL(newLink);
}
btn_test.addEventListener(MouseEvent.CLICK,link);




解說:

btn_Test 只是button 的名字, 可以隨意改其他名字
link 是function
newLink 是 variable