顯示具有 Flash 標籤的文章。 顯示所有文章
顯示具有 Flash 標籤的文章。 顯示所有文章

2010年12月20日 星期一

超好用Flash模板

最近發現幾個網站與FLASH模板有關,可以免費下載,
只要稍作修改就可以直接使用在自己的網站內,效果相當不錯。
還有一個網站則是直接在線上建立純flash網站,基本上是要付費,但是免費版已經很棒!
再多搜尋一下,才發現這類網站還蠻多的,大家花點時間應該可以找到更多。 


1. http://www.flashmo.com


這個網站提供相當多(目前看到262個)flash模板,下載後修改即可使用,
重點是,這些模板都是與XML搭配,順便可以練習XML的修改,
也可以觀摩一下正確XML檔案的寫法,
換個角度講,除了學習檔案中AS的寫法,同時學到如何使用AS去讀取XML,建議各位好好利用。


2. http://www.wix.com


這個網站就是可以在線上直接建立純FLASH網站的地方,
事實上,前面介紹那個網站中也有超連結可以直接到這裡來,
先規劃好你要的網站架構,準備好文字與圖片,
到此網站後先註冊一個帳號,就可以開始了,
在建立過程中,邊上傳要使用的圖片,文字可以用貼上的,
不用多少時間就ok了,還蠻好玩的。


3. http://www.flashxml.net/


這個網站比較難一點,因為是直接使用xml,不過,值得好好研究一下,
網站提供免費版與付費版,付費版當然較強大,
不過建議從免費版開始,先弄清楚在flash中建立與使用這種元件,
再進一步學習如何修改,蠻不錯的喔!


2010年5月5日 星期三

一邊計算數目,一邊反覆執行的 for

for,我們稱它為"迴圈"。


先宣告要計算數目的容器,也就是變數,
再宣告這個變數的初始值,
再宣告要重複執行到數目變成多少要停止的條件,
最後宣告每次要增加或減少多少值。如:


var a:int;
for (a=1 ; a<=20 ; a++){
    "a 增加到 20 之前,要反覆執行的程式內容"
}
說明:a 的初始值為1,要重複執行至 a=20 為止,每次執行時增加 1。
也可以增加或是減少其他數字。


for 用法在Action Script裡使用頻率相當高,期盼各位有機會多練習。


2010年4月19日 星期一

Action Script 中的變數

什麼是變數?
我在課堂會用"容器"這個名詞來解釋,也就是"裝資料的箱子",是拿來儲存資料的。
我們的做法通常都是將數字或是字串存入這個容器中,
再利用語法將這些資料叫出來使用。


建立變數時,要先建立名稱,將容器做出來,這個動作稱為"宣告變數"。
使用" VAR "這個關鍵字來建立變數。
嚴謹一點的寫法,在宣告變數的同時,也設定變數的資料類型。
比如:


建立整數變數,變數名稱"a",資料類型為整數"int",請注意分號與冒號。
var a:int;


建立字串變數,變數名稱"fire",資料類型為字串"string"。
var fire:String;


不過,通常都會直接使用運算子將初始值(或說預設值)放進去。


如下:


var 變數名稱:資料類型 = 初始值;
var a:int = 20;
var fire:String="煙火";


變數名稱的命名很重要,有幾條規則請各位遵守,以免程式出問題:


1.只能使用半形英文或數字;
2.名稱中只能使用"_"與"$"這兩個符號;
3.不可以數字開頭。


可是,FLASH中有很多保留字不能用,記也記不起來,怎辦?
請看一下上方的語法或各位在FLASH中建立語法時,留意文字的顏色,
自己命名的變數名稱輸入之後,必須是黑色的,
一旦出現藍色,即代表這個變數名稱不能用,因為用到保留字了!
這一點異常重要,請各位多留意。


還有一種就是使用兩個英文單字組合,
如:"myClick"、"nextPhoto"等,
個人非常推薦這種命名方式,尤其是要用到的變數很多時,
變數名稱本身有意義時,看到變數名稱就可以知道所處理的對象與範疇,超方便!


最後,提醒各位,
在同一條時間軸中,變數名稱不能重複使用。


下次繼續談AS 3.0。


2010年2月25日 星期四

Action Script 3.0 版

演進至今,Flash 所使用的語法 Action Script(以下簡稱AS)已經發展到3.0版,
語法結構要求嚴謹,與 1.0、2.0 大不相同。


我把 AS 3.0 的語法架構解釋為一個正三角形,
三個角色:
1. 程式名稱與內容(function)。
2. 監視器(Listener)。
3. 被監視的對象,也就是元件(Symbols,按鈕或是影片片段)。


其三角規則為,先建立一個程式與希望執行的內容,
再建立一個按鈕或是影片片段,
接著建立一個監視器,就是要監視之前那個元件,
當該元件被監視到有動作,可能是被按一下、被碰到或只是時間軸開始播放,
就執行程式內容。


以下有一段例子:

function nextPhoto( event:MouseEvent ){
             //nextPhoto 為程式名稱,MouseEvent 代表這是個滑鼠事件


             this.play();
             //程式內容是時間軸開始播放
}


next_btn.addEventListener( MouseEvent.CLICK , nextPhoto);
//監視器發現 next_btn 被了一下,則執行 nextPhoto 這個程式


重點一:英文字母大小寫字有差別的。
重點二:" // "即代表單行的註解文字
這只是一個簡單例子,會繼續跟各位介紹這方面的應用。


2008年3月5日 星期三

Action Script_7

繼續介紹,這次的例子是使用按鈕去控制元件。
場景中央放置一朵花,這是個影片片段,
因為我們要用AS去控制它放大、縮小及旋轉。

外圍有個框,下方則是四個按鈕,先為這朵花命名為"flower"(實體名稱)。
接著點選"+"這個按鈕,我們要設定放大。在按鈕加入語法:
on(release){
   _root.flower._xscale=150;
   _root.flower._yscale=150;
}
表示按下按鈕則會讓花的寬度與高度都放大150%。
接著點選"-"這個按鈕,我們要設定縮小。在按鈕加入語法:
on(release){
   _root.flower._xscale=60;
   _root.flower._yscale=60;
}
表示按下按鈕則會讓花縮小60%。
接著點選"順時針方向轉"這個按鈕,我們要設定往右旋轉。在按鈕加入語法:
on(release){
   _root.flower._rotation=90;
}
表示按下按鈕則會讓花順時針旋轉90度。
接著點選"逆時針方向轉"這個按鈕,我們要設定往左旋轉。在按鈕加入語法:
on(release){
   _root.flower._rotation=-90;
}
表示按下按鈕則會讓花逆時針旋轉90度。
_root.flower代表回到場景時間軸再去找到"flower'這個物件。
其實該再做個按鈕"Reset"設定原來大小與座標,讓它恢復原狀。

重點:試著將這些語法放到圖層上。
作法:新增"Action"圖層,在影格1加入語法。
_root.big.onRelease = function() {
    _root.flower._xscale = 150;
    _root.flower._yscale = 150;
};
第一行的"big"是"+"按鈕的實體名稱,其他按鈕的語法比照辦理,
將每一段都放到"Action"圖層的影格1。各位可以練習一下。

待續...............................

2008年3月3日 星期一

Action Script_6

這次,我們建立一個很簡單的動畫檔,其實是靜態的,
但是是使用AS來指定影片片段的位置。
開個新檔,400X300,背景為黑色,

先建立一個影片片段"apple",並命名為"apple"。

它的位置是

建立一個"action"圖層,並在影格1輸入AS碼,
apple._x=200;
apple._y=200;
apple是這個影片片段的實體名稱,_x表示x座標,_y表示y座標,
則測試影片時,apple的位置就在場景(200,200)的位置。如圖:

有興趣的人可以試一下,很簡單的一個展示,
會陸陸續續發表這類型的文章,供大家參考。
待續....................

2008年2月29日 星期五

Action Script_5

接下來,繼續介紹AS與影片片段元件的一些關係。

影片片段提供不少AS屬性,讓我們在影片播放時可以控制元件。
以下列出一些:(請注意,英文字母前面的是底線"_",而非橫線"-")
屬性
說明
_x 數字(像素) X座標
_y 數字(像素) Y座標
_xscale 數字(百分比) 寬度的縮放
_yscale 數字(百分比) 高度的縮放
_height 數字(像素) 高度
_width 數字(像素) 寬度
_alpha 數字(百分比) 透明度
_rotation 數字(角度) 旋轉
_visible true/false 顯示與否(顯示/隱藏)
當然,不只這些屬性,這些是最常用的。
下次開始,我們會用一些簡單的範例跟各位介紹AS的實際用法。

待續............................................

2008年2月27日 星期三

Action Script_4

FLASH中最重要的核心元件就是影片片段(MovieClip),因為它支援最多的AS,
最能夠程式化,是最能用AS來控制的元件。

因此,我們先仔細釐清元件(Symbols)與實體(Instance)之間的關係,
以便將來使用AS加以控制時,可以更加得心應手。
1.將圖形轉換成元件時,在元件庫中會看這個元件,
   可是,同樣的圖形可以轉成不同的元件,
   所以,同樣的內容,可以是不同的元件,不同的名稱。
2.在元件庫的元件稱為"原型",可以想像為元件的"本尊"。
   本尊只能有一個,可是"分身'可以有無數個。
   換言之,在元件庫中的都是本尊(元件),出現在場景中的全都是分身(實體)。
3.存檔時,只儲存本尊的相關資訊,當動畫檔播放時,才會即時將分身"分"出來。
    因此,只有本尊會占用檔案大小,分身所使用的檔案大小幾乎可以不計。
4.本尊若有所改變,則每個分身會同時產生變化。
    但是,分身可以加以修改,擁有一些不同於本尊的屬性。
5.要使用AS去控制場景中的分身時,必須先將這些分身予以命名,
   這樣的話,AS才能辨識出各個分身誰是誰。

待續...............................

2008年2月23日 星期六

Action Script_3

其實,個人認為最正確的寫法是將AS寫在影格上,
假設場景中有10個元件,都加上AS,如果要除錯時,是不是要一個一個找?都沒效率。
如果能夠建立一個as圖層,將所有語法都放在這個圖層上,在管理與除錯上勢必更加便利。
主要作法如下:
    物件的實體名稱.事件名稱 = function(){
                執行動作;
   }
以下是加在影片片段上的
事件
說明
onPress = function(){}
在影片片段上按下左鍵時觸發動作。
onRelease = function(){}在影片片段上放開左鍵時觸發動作。
onReleaseOutside = function(){}在影片片段上按下左鍵,並在移出按鈕區域時放開滑鼠而觸發動作。
onRollOut = function(){}滑鼠游標移出影片片段區域時觸發。
onRollOver = function(){}滑鼠游標移入影片片段區域時觸發。
onLoad = function(){}當影片片段完成下載,出現在時間軸時觸發動作。
onUnload = function(){}當影片片段從時間軸上被移除後觸發動作。
onEnterFrame = function(){}以SWF檔案的影格速率重複啟動。
onMouseDown = function(){}按下左鍵時觸發動作。
onMouseMove = function(){}移動滑鼠時觸發動作。
onMouseUp = function(){}放開滑鼠按鍵時觸發動作。
onDragOut = function(){}按下左鍵並按著滑鼠拖曳到物件外面區域時觸發動作。
onDragOver = function(){}按下左鍵並按著滑鼠滑過物件區域時觸發動作。
onKeyDown = function(){}按下指定的鍵盤按鍵。
onKeyUp = function(){}放開指定的鍵盤按鍵。
onData = function(){}當影片片段接收資料時觸發動作。


待續....................................

2008年2月22日 星期五

Action Script_2

在影片片段加入語法的方法為:
onClipEvent(事件){
     執行動作;
}
而影片片段的事件如下:
事件
說明
load當影片片段下載到目前時間軸時,觸發動作。
unload當影片片段由目前時間軸被移除時,觸發動作。
enterFrame該執行動作以影片片段的播放速率連續觸發。
mouseMove每次移動滑鼠時觸發動作。
mouseDown每次按下滑鼠左鍵時觸發動作。
mouseUp放開滑鼠左鍵時觸發動作。
keyDown按下鍵盤某按鍵時觸發。
keyUp放開鍵盤某按鍵時觸發動作。
data接收到某些資料時觸發。

另一方面,使用下列語法在按鈕上設定:
on(事件){
     執行動作;
}
事件
說明
press在按鈕上按下左鍵時觸發動作。
release在按鈕上放開左鍵時觸發動作。
releaseOutside在按鈕上按下左鍵,並在移出按鈕區域時放開滑鼠而觸發動作。
rollOut滑鼠游標移出按鈕區域時觸發。
rollOver滑鼠游標移入按鈕區域時觸發。
dragOut在按鈕上按下左鍵,並按著滑鼠移出按鈕區域時觸發動作。
dragOver在按鈕上按下左鍵,並按著滑鼠滑過按鈕區域時觸發動作。
keyPress"< key >"按下指定的鍵盤按鍵。

待續......................................

2008年2月20日 星期三

Action Script_1

使用FLASH不一定要使用ActionScript(以下簡稱AS),可是如果希望對於動畫流程有所控制,
想製作擁有互動功能的動畫,就需要使用AS。
AS演進至今為3,0版(CS3版),在功能上不斷改良,語法結構上接近JavaScript,有一定的文法與標點符號規則,
AS主要功能是用來與FLASH的影片溝通,除了控制播放流程與程序外,還可以讓影格中的物件執行動作。
因此,先在此介紹幾個較常用的指令:在時間軸控制項函數中

函數說明 
gotoAndPlay 讓播放畫面移到場景中的指定影格,
並從該影隔開始播放。 
gotoAndStop讓播放畫面移到場景中的指定影格,
並停止播放。
play 讓時間軸往前播放。 
stop停止正在播放的動畫或元件。
nextFrame 令播放畫面往上一個影格移動。
prevFrame令播放畫面往下一個影格移動。












待續........................

2008年1月11日 星期五

隱形按鈕

在flash的動畫中,會有種特殊按鈕,就是隱形按鈕。
意味著該按鈕在場景中會以淡藍色呈現,但是在動畫中卻看不到。
建立方式很簡單,就是在建立按鈕時,
在"感應區"的影格中,建立一個圖形,其他影格保持空白即可,如圖。

隱形按鈕

在flash的動畫中,會有種特殊按鈕,就是隱形按鈕。
意味著該按鈕在場景中會以淡藍色呈現,但是在動畫中卻看不到。
建立方式很簡單,就是在建立按鈕時,
在"感應區"的影格中,建立一個圖形,其他影格保持空白即可,如圖。


Don’t ... #shorts

Don’t insist on being “right”.