2009年10月30日 星期五

ActionScript 3.0 的語法架構整理

我對語言最沒轍了...

因為學一學都忘記!

語法我也會一直忘記,所以寫一次在網誌上提醒自己不要忘記....

不然我都忘記"."後面是甚麼意思","後面是甚麼":"後面代表怎樣的情況....

這只是我整理一下我看書學到的,有錯誤請指正

=======================================================================================

ActionScript是個物件導向的語言,所以要設立一個物件(flash上是說元件)的實體名稱才能在程式中使用它,而

一般物件的屬性可以使用程式來設定,例如:

frog.width = 100 ;

這段程式碼"frog"是個
物件的實體名稱,"."就像"的","width"是屬性"100"是屬性值而後面的";"就像是一般語言中的句號啦~(這段話完成的意思)。所以這程式碼翻成中文就是"frog這個元件它的寬有100px。


另外還有要儲存這個物件的屬性就要用到變數,例如:

picFrog = frog.width;

這段文字就說明,"這個變數就是一個寬100px的frog元件"


還有為物件呼叫動作,像是偵聽或者播放/停止影片片段的動作方法:

frog.stop();

stop()就是停止播放影片片段,意思就是說"停止frog元件播放影片"


最後還有最常用的自訂函數:

function newFunction(frog.MouseEvent){
物件方法呼叫;
}

============================================================================

這些都是常用的函數,一定要理解並且記起來如何運用才行(汗





2009年10月29日 星期四

ActionScript 3.0 學習誌-構成一個動畫基本的封裝語法

想要好好的把ActionScript 3.0給學好的我,有一題書中範例我怎樣都看不懂!

所幸和辛承學長討論後終於解開啦!(天阿!書上說這是最基本的耶!)

趁我還沒有忘記,趕快把心得寫下來,不然改天又要煩惱(煙)

P.S.範例檔都是由Flash ActionScript 3.0 中參考的。

=======================================================================
package{
import flash.display.Sprite;
import flash.events.Event;

public class FirstAnimation extends Sprite {
private var ball:Sprite;
public function FirstAnimation() {
init();
}
private function init():void {
ball = new Sprite();
addChild(ball);
ball.graphics.beginFill(0xff0000);
ball.graphics.drawCircle(0,0,40);
ball.graphics.endFill();
ball.x = 20;
ball.y = stage.stageHeight / 2;
ball.addEventListener(Event.ENTER_FRAME, OEF);
}
private function OEF(event:Event):void {
ball.x++;
}
}
}
====================================================================================

package:
指的是一個封裝的程式,就是不是寫在.fla檔中影格的.as檔,這個.as檔的程式要被使用的話需要和.fla放一起,而且更重要的是"需要在.fla中的舞台屬性中,文件類別設定相同的.as檔名",這樣才讀的到.as檔。

import:
匯入的意思,本程式是使用flash裡的"Sprite""Event"這兩個功能函數,所以需要先import指定它,在ActionScript 3.0如果有要用到功能函數都一定要先進行指定(所以這應該是一個全域函數吧。)

class
我的理解是,指定此package的類別是甚麼,像此程式是指定 FirstAnimation,所以這個.as檔應該就要以 FirstAnimation來命名,當然.fla就要在舞台屬性中文件類別指定 FirstAnimation了(就是這一段讓我想了一整天...)

addEventListener:
ActionScript 3.0中最主要也是最常用的偵聽(控制)函數,它是個全域函數,可以得知物件是否有事件產生,這個範
例"ball.addEventListener(Event.ENTER_FRAME, OEF)"指的是說:ball這個實體元件,會產生的事件(Event)是
ENTER_FRAME,而這個事件是因為有OEF這個家伙的關係,所以下一行的函數就會定義OEF的屬性使系統可以偵測到,進而引發ball開始ENTER_FRAME。


這整個函數就是一直重複"ball">>"執行function OEF(x軸加1)">>"OEF使得ball.ENTER_FRAME(更新螢幕)"的循環
所以就造成了球會移動了。

2009年10月28日 星期三

瞬間

讀研究所真的好多事情要做

時間都不夠用(但是還是有時間打網誌,真奇怪)

上星期宜霈回來,一起逛夜市,

更覺得時間過得好快,一轉眼就一個周末過去了。

每次帶宜霈去搭高鐵,心中都有種感傷,

或許是一種寂寞吧,覺得好像心裡有些地方,也隨著高鐵發車而消失了...

最近特別會懷念起從前,因為高中是念男校,所以也度過很多有趣的時光(內容有點不雅XD)

而大學大部分都是懷念和宜霈在一起的時光,但是那時也常常吵架...現在想想覺得好浪費,應該要把握在一起的每個時刻

不過也因為這樣,兩個人才會更佳的了解彼此。

當然還有和冠仲,洋洲,台客等等的朋友一起混的時光,尤其是和榮銘去單車環島,騎自行車去武嶺,想一想還真的蠻厲害的;

有時候會想要放棄,想說如果一直待在過去就好了;但是最後,覺得如果可以創造更幸福的未來,不是更好嗎?