|
|
EX1.猜拳遊戲 |
|
- 於as圖層中第2各影格動作如下:
stop();
//決定電腦出拳的副程式
function rand(){
ran=random(3)
if(ran==0){
computer.gotoAndStop(2);
}else if(ran==1){
computer.gotoAndStop(3);
}else{
computer.gotoAndStop(4);
}
}
//判斷輸贏的副程式
function winorlose(){
//贏
if(my._currentframe==2 and computer._currentframe==4
|| my._currentframe==3 and computer._currentframe==2
|| my._currentframe==4 and computer._currentframe==3){
_root.gotoAndStop(3);
_root.my_score+=1;
//輸
}else if(computer._currentframe==2 and my._currentframe==4
|| computer._currentframe==3 and my._currentframe==2
|| computer._currentframe==4 and my._currentframe==3){
_root.gotoAndStop(4);
_root.computer_score+=1;
//和局
}else{
_root.gotoAndStop(5);
}
}
- 於結果圖層,第3各影格載入win.wav音效;第4各影格載入lose.wav音效;第5各影格載入draw.wav音效.
- 於剪刀按鈕,加上按鈕動作如下:
on(release){
_root.my.gotoAndStop(2);
rand();
winorlose();
}
- 於石頭按鈕,加上按鈕動作如下:
on(release){
_root.my.gotoAndStop(3);
rand();
winorlose();
}
- 於布按鈕,加上按鈕動作如下:
on(release){
_root.my.gotoAndStop(4);
rand();
winorlose();
}
- 在我方分數的動態文字,屬性列變數:my_score,在電腦方分數的動態文字,屬性列變數:computer_score.
- 於"在玩一次"圖層中第3各影格中,插入關鍵影格,從元件庫中拖曳出"再玩一次"按鈕至於適當位置,加上按鈕動作如下:
on(release){
gotoAndStop(2);
my.gotoAndStop(1);
computer.gotoAndStop(1);
}
|
|
EX2.動畫下載進度 |
|
- 開啟檔案FLD0402.FLA。
- 選取場景中"load_mc"影片片段元件,增加影片片段動作如下。
onClipEvent(enterFrame){
with(_root){
Mtotal=getBytesTotal()/1024;
Mload=getBytesLoaded()/1024;
pp=int(Mload/Mtotal*100);
size_txt.text=int(Mtotal)+"KB";
load_txt.text=int(Mload)+"KB";
pt_txt.text=pp+"%";
bar_mc._xscale=pp;
}
}
|
|
EX3.彩繪 |
|
|
|
EX4.翻牌遊戲 |
|
- 開啟檔案FLD0404.FLA。
- 將場景中12張牌皆設定實體名稱card1~card12。
- 於"行為指令"圖層的第1各影格輸入影格動作,如下。
// 以下請自行撰寫設定12張牌的初始值的相關程式碼
CardNum="112233445566";
// 以下請將號碼置入牌中,牌的實體名稱為card1~12
// 利用迴圈隨機取出CardNum中的值,並指定給各張牌
// 為避免重複,值取出後,再將CardNum的數列減去已取出的值
for(i=1;i<=12;i++){
getpos=random(cardNum.length)+1;
set("card"+i,int(substring(cardNum,getpos,1)));
cardNum=substring(cardNum,1,getpos-1)+substring(cardNum,getpos+1,cardNum.length-getpos);
}
// 設定記憶第一次及第二次點選的牌的變數
c2 = 0;
c3 = 0;
// 設定已配對完成的牌組數目的變數起始值
finish = 0;
- 於"行為指令"圖層的第4各影格輸入影格動作,如下。
if(eval(c2)==eval(C3)){
finish ++;
result.gotoAndStop(2);
}else{
result.gotoAndStop(1);
}
- 於元件庫中,雙擊"比對結果"影片片段元件,進入編輯環境,點選第一各影格中的"答錯了"按鈕元件,加上按鈕元件動作。
on(release){
eval("/"+eval("/:c2")).gotoAndStop(1);
eval("/"+eval("/:c3")).gotoAndStop(1);
_root.gotoAndStop(2);
}
- 點選第二各影格中的"猜對了"按鈕元件,加上按鈕元件動作。
on(release){
eval("/"+eval("/:c2"))._visible=false;
eval("/"+eval("/:c3"))._visible=false;
if(_root.finish==6){
_root.gotoAndStop(5);
}else{
_root.gotoAndStop(2)
}
}
- 回到場景中點選第五各影格中的"再玩一次"按鈕元件,加上按鈕元件動作。
on(release){
for(i=1;i<=12;i++){
with(eval("/card"+i)){
_visible=true;
gotoAndStop(1);
}
}
gotoAndPlay(1);
}
|
|
EX5.拼圖遊戲 |
|
- 開啟檔案FLD0405.FLA。
- 於"行為指令"圖層的第1各影格輸入影格動作,如下。
stop();
for(i=1;i<=20;i++){
setProperty("p"+i,_x,1000);
setProperty("p"+i,_y,1000);
}
- 於場景中"開始"按鈕元件加上動作。
on(press){
score=0;
gotoAndStop(2);
timer.gotoAndPlay(1);
finish.gotoAndStop(1);
for(i=1;i<=20;i++){
setProperty("p"+i+"a",_alpha,"0");
setProperty("p"+i,_x,random(300)+100);
setProperty("p"+i,_y,random(200)+100);
}
}
- 於元件庫中,雙擊"計時器"影片片段元件,"文字"與"底圖"圖層,於第13各影格中插入影格F5。
- 於"行為指令"圖層中,第一各影格加入動作
time=0; 。
- 於第二各影格上插入空白關鍵影格F7,加上影格動作。
if(_root.score==20){
stop();
}
- 於第13各影格上插入空白關鍵影格F7,加上影格動作。
time++;
gotoAndPlay(2);
- 於元件庫中,選取"beep.wav"音效檔,右鍵
/ 連結,勾選"繪出給ActionScript使用",識別名稱輸入"beep"。
- 於元件庫中,找到"完成的影片片段"資料夾中的p1~p20影片片段元件,雙擊進入編輯環境,選取按鈕元件皆加上按鈕動作如下。
on(press){
startDrag("",true);
}
on(release){
stopDrag();
//如果圖片位置正確
if("/"+_name+"a"==_droptarget){
mysnd=new Sound();
mysnd.attachSound("beep");
setProperty("/"+_name+"a",_alpha,100);
setProperty("",_y,1000);
_root.score=_root.score+1; //分數加一
if(_root.score==20){
_root.finish.gotoAndPlay(2);
}
}
}
|
|
|