|
第十話
TQC認證0002 |
EX1.WO-COW MTV |
|
- 於BAR圖層上新增一圖層(影片),檔案 / 匯入 / 匯入視訊;選擇FLDMOV.MOV,"在SWF中內嵌視訊並在時間軸中播放",完成匯入,在場景中置於X80,Y30,實體名稱為MOV.
- 新增一圖層(遮色片),寬200高150像素,置於X100Y45.
- 於BAR圖層上新增一圖層(按鈕),視窗 / 組件中,VIDEO組件中,選取PlayButton,StopButton,PauseButton,BackButton,ForwardButton等5各組件按鈕,置於BAR上.
- 點選PlayButton按鈕,呼叫視窗 / 行為指令,按下+號, 內嵌視訊-播放視訊,選擇實體名稱為MOV的視訊影片,確定,事件:放開時.
- 點選StopButton按鈕,行為指令面板中,按下+號, 內嵌視訊-停止視訊,選擇實體名稱為MOV的視訊影片,確定,事件:放開時.
- 點選PauseButton按鈕,行為指令面板中,按下+號, 內嵌視訊-暫停視訊,選擇實體名稱為MOV的視訊影片,確定,事件:放開時.
- 點選BackButton按鈕,行為指令面板中,按下+號, 內嵌視訊-暫停視訊,選擇實體名稱為MOV的視訊影片,確定,事件:放開時,在按下+號,
內嵌視訊-倒帶視訊,影格數為5,選擇實體名稱為MOV的視訊影片,確定,事件:按下時.
- 點選ForwardButton按鈕,行為指令面板中,按下+號, 內嵌視訊-暫停視訊,選擇實體名稱為MOV的視訊影片,確定,事件:放開時,在按下+號,
內嵌視訊-視訊快速前轉,影格數為5,選擇實體名稱為MOV的視訊影片,確定,事件:按下時.
|
|
EX2.蝴蝶的一生 |
|
- 先將影格速率改為 9 FPS.
- 在元件庫中,於movie影片片段元件上,右鍵 / 連結,勾選"匯出給ActionScript使用",識別名稱為FLD_MC.
- 將場景上的4各按鈕,分別設定實體名稱為bt1~bt4.
- 於as圖層第一個影格,增加影格動作,如下:
bt1.onRelease=function(){
duplicateMovieClip("mc","mc1",99)
}
bt2.onRelease=function(){
attachMovie("FLD_MC","movie",1)
movie._x=150;
movie._y=210;
}
bt3.onRelease=function(){
loadMovieNum("FLDbutterfly.swf",1);
}
bt4.onRelease=function(){
tqctext.scroll=0;
loadVariables("FLDbutterfly.txt",_root);
}
- 場景中的動態文字旁的往下按鈕之動作:
on(release){
tqctxt.scroll+=3;
}
- 場景中的動態文字旁的往上按鈕之動作:
on(release){
tqctxt.scroll-=3;
}
|
|
EX3.汽車展示 |
|
- 先將影格速率改為 9 FPS.
- 進入場景中汽車影片片段之編輯環境,新增一圖層,將原件庫中的隱形按鈕,拖曳並於汽車置中對齊.
- 並於第一影格中增加影格動作,flag=1;.
- 回到場景中,於汽車影片片段上增加動作如下:
on(release){
flag ++;
if(flag%2==0){
stop();
}else{
play();
}
}
- 於元件庫中,點2下"拖曳"影片片段元件,進入編輯環境,於按紐元件上增加動作如下:
on(press){
startDrag("",false,0,-100,0,100);
}
on(release,releaseOutside){
stopDrag();
}
- 回到場景中,選取大小捲軸上的動態文字,設定實體名稱為:ss
.
- 進入大小捲軸影片片段元件編輯環境,於第一個影格加入影格動作如下:
y=button._y;
out=(100-y)/200;
setProperty(eval("_root.car"),_xscale,out*100);
setProperty(eval("_root.car"),_yscale,out*100);
_root.ss=int(out*100)+"%";
第2個影格加入影格動作:gotoAndPlay(1);
- 回到場景中,選取旋轉捲軸上的動態文字,設定實體名稱為:angle.
- 進入旋轉捲軸影片片段元件編輯環境,於第一個影格加入影格動作如下:
y=button._y;
out=(100-y)/200;
setProperty(eval("_root.car"),_rotation,out*360-180);
_root.angle=int((out*360)-180)+"%";
第2個影格加入影格動作:gotoAndPlay(1);
|
|
EX4.猜拳遊戲 |
|
- 於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);
}
|
|
EX5.整數計算機 |
|
- 於as圖層中第1各影格動作如下:
stop();
//-------------------------------------
function NumKeyPress(nn) {
if(ClearFlag){
ClearFlag=false;
out.text="0";
}
if(out.length<8){
out.text=String(Number(out.text)*10+Number(nn));
}
}
//-------------------------------------
function OpPress(op){
if(!ClearFlag){
DoCalc(LastOp,LastOpd,Number(out.text));
LastOpd=Result;
}
LastOp=op;
out.text=String(LastOpd);
ClearFlag=true;
}
//-------------------------------------
function DoCalc(op,opd1,opd2) {
switch(op){
case 1:
Result=opd1 + opd2;
break;
case 2:
Result=opd1 - opd2;
break;
case 3:
Result=opd1 * opd2;
break;
case 4:
Result=int(opd1 / opd2);
break;
default:
Result=opd2;
break;
}
}
- 場景中"CE"按鈕動中:
on(release){
out.text="0";
}
- 場景中"OFF"按鈕動中:
on(release){
fscommand("quit");
}
- 其餘按鈕皆加上鍵盤動作,例:
場景中"0"按鈕動中:
on (release, keyPress "0")
{
NumKeyPress('0');
}
|
|
|