<ins id="vrlx9"><noframes id="vrlx9"><cite id="vrlx9"></cite>
<cite id="vrlx9"><noframes id="vrlx9">
<del id="vrlx9"></del>
<cite id="vrlx9"><noframes id="vrlx9">
<ins id="vrlx9"><noframes id="vrlx9"><ins id="vrlx9"></ins>
  您的位置  首頁 >> 教學資源 >> >> 正文
用Flash Random函數制作隨機抽取的題庫(教程)
[來源:本站 | 作者:王志勇 | 日期:2012年6月17日 | 瀏覽6696 次] 字體:[ ]


一、新建一個Flash文檔,1024*768的分辨率,因為目前的投影機大多是43的。
先制作一個漂亮的開場——場景:begin,左右幕布的動畫效果比較簡單,就此省略。



1、背景圖層第一幀加上語句:stop();

2、“開幕按鈕”圖層的最后一幀加上語句:stop();

3、新建6個按鈕,代表6種不同的題型,分別命名為button1;button2……button6;這樣,點擊透明的“開幕按鈕”后, 6個題型按鈕就閃亮登場了。

4、在題型1按鈕上加上語句,點擊后可跳轉到"題型1"場景,其他題型按鈕也是如此。

on (release) {

      gotoAndStop("題型1", 1);

}

二、建立題庫與答案

1、建立圖層如下:


“背景”圖層作為最下層;

“題目與答案”圖層中,第一幀是空白幀,作為抽取題庫的界面,須加上語句:stop();抽取的題庫中共有27道題目,加上第一幀的空白幀,共28幀。

“題目與答案”圖層中的2-27幀先打上題目,再加上27個答案,這些答案應做成“影片剪輯”分別用“answer1”-“answer27”來命名,其alpha值為0。

“答案按鈕”圖層中,第一幀是空白幀,其余的27幀均為透明的大按鈕,點擊按鈕后,原來alpha值為0的答案(answer1answer2……或answer27)才能顯示出來。

on (release) {

       number=jj//  jj的意義請看下文分解

       setProperty("answer"+number, _alpha, "100");//將原來透明的答案“answer …”顯示出來

}

三、在“主控按鈕與語句”圖層中開始用random函數制作第一個抽題系統,其余的5個題型的抽題系統就不再一一贅述了。

1、(如圖)制作三個按鈕,從左到右依次設置。①.左邊的“抽取題目”按鈕命名為“button11”;②.中間“返回”的綠色按鈕命名為“button00,加入如下語句:

on (release) {

    stopAllSounds();

    gotoAndStop("begin", 20);

} // 返回“begin”場景的最后一幀

 

.右邊“繼續搖號”按鈕命名為“button22”;

2、(如圖)制作一個1-27數字依次變化的影片剪輯,命名為“jump”。


3、再制作一個搖號時的影片剪輯,第一幀是空白;第二幀插入音樂,加入語句stop();第三幀也是空白,加入語句stop();stopAllSounds();。將這個影片剪輯命名為“music”,放在畫面左上角。

4、“主控按鈕與語句”圖層的第一幀中加入如下語句,對相關參數進行初始化。

aa = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,21,22,23,24,25,26,27);//題目共有27題,所以定義數組aa1-27

bb = new Array();//定義一個空數組

cc = new Array();//定義一個空數組

mmm = 0;//mmm賦值為0

nnn = 27;//nnn賦值為27

_root.but00._visible = false;// 將返回“begin”場景的按鈕設為不可見

_root.but22._visible = false;// 將“繼續搖號”按鈕設為不可見

music.play();//開始播放抽題時的音樂

5、“抽取題號”按鈕(button11)中加入如下語句,點擊或按空格鍵后開始隨機抽取的題庫中的題目,這是整個隨機抽取系統的關鍵所在。

on (release, keyPress "<Space>") {   

   music.play();//音樂開始播放

   ii = random(nnn);//nnn(0-27)中隨機抽一個數(0是第1個數,1是第2個數,以此類推……)

    trace(ii);//調試時,用于跟蹤ii的變化(舉例:如果ii8)

    jj = aa[ii];//從數組aa(127)中取出第(ii)個數,因為數組aa中沒有0,所以第(ii)個數實際上是第(ii+1)個數(舉例:那么jj9)

    trace(jj); //調試時,用于跟蹤jj的變化

    _root.jump.gotoAndStop(jj);  //jump影片剪輯跳轉到隨機數相對應的幀上,這樣屏幕上有出現了隨機抽取的數字(舉例:此時,影片剪輯“jump”將顯示“09)

    aa1 = aa.slice(0, ii);//把數組aa(127)中的第1個至第ii個數找出來,賦值給數組aa1

    trace(aa1); //調試時,用于跟蹤aa1的變化(舉例:aa11,2,3……8)

    aa2 = aa.slice(ii + 1, nnn);//把數組aa(127)中的第(ii+1)個至第27個數找出來,賦值給aa2

    trace(aa2); //調試時,用于跟蹤aa2的變化(舉例:aa210,11,12……27)

    aa = aa1.concat(aa2);//a1a2兩個數組合并起來,賦值給aa(就等于是在原aa數組中去掉了已被抽取的數jj)

    trace(aa); //調試時,用于跟蹤aa的變化(舉例:aa1,2,3……8,10,11,12……27)

    gotoAndStop(jj+1); //跳轉到隨機數相對應的幀上,這樣屏幕上有出現了隨機抽取的題目(舉例:跳轉到本場景的第10幀,顯示第9題的畫面)

    mmm++;//原值是0

    nnn--;//原值是27

    _root.but11._visible = false;//為防止誤操作,抽取后,“抽取”按鈕不可見

    _root.but22._visible = true; //為防止誤操作,抽取后,“繼續搖號”按鈕可見

           if (mmm == 27) { //如果已經抽取了27題,將執行下列語句

           text = "抽題已結束,請返回!";

           _root.but00._visible =true;//抽完27題,綠色返回按鈕可見

           _root.jump._visible = false; //抽完27題,影片剪輯“jump”不再顯示數字

    _root.but22._visible = false;_root.but11._visible = false; //抽完27題,“繼續搖號”可見

    } // end if

}

6、“繼續搖號”按鈕(button22)中加入如下語句。

on (release) {

    _root.but11._visible = true;//使“抽取題目”按鈕可見

    _root.but22._visible =false;//隱藏“繼續搖號”按鈕

    _root.jump.play();//重新讓影片剪輯“jump”滾動數字

    music.play();//讓音樂重新播放

}

四、為便于操作,“場景1”的屏幕下方加上提示:

1、靜態文本“本組共27題,已抽取_____題”。

2、動態文本,屬性中的“變量”框中填入“mmm

3、動態文本,屬性中的“變量”框中填入“text

五、為防止重復答題,在“begin”場景中做如下設置:

回到“begin”場景,在“開幕按鈕”圖層的最后一幀加上語句:

if (mmm== 27) {    //如果已經抽取了27

    _root. button1._visible = false;//讓“begin”場景中的第一個題型按鈕不可見

    } // end if

六、看了許多網上的范例與解答,好像都不詳盡,只好自己做一個,與朋友們共享。如果有寶貴的建議,請直接在網頁上留言,不勝感謝。

 

王志勇

2012/6/17


責任編輯:admin

相關文章

  • ·沒有相關文章

相關專題

  • ·專題1信息無
  • ·專題2信息無
更多..·相關評論
  • 發表人:游客   發表人郵件:lmn239@163.com   發表時間:2012/6/17 11:21:07   IP:112.111.202.3
  •     謝謝分享。
用戶名: 游客: 電子郵件: 游客: 驗證碼:
評論內容:(100字以內)

WWW.1028R.COM