国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

用Flash制作“認(rèn)識(shí)物理學(xué)家”小游戲

2009-10-21 06:38申繼年
中國(guó)信息技術(shù)教育 2009年17期
關(guān)鍵詞:物理學(xué)家鼠標(biāo)函數(shù)

申繼年

在物理課程的學(xué)習(xí)過程中,涉及物理學(xué)家的知識(shí),是必須掌握的。這部分知識(shí)的教學(xué)若以單調(diào)的形式表現(xiàn),學(xué)生會(huì)感覺非??菰?在一定程度上也會(huì)影響學(xué)生對(duì)這部分知識(shí)的掌握。

教育游戲憑借其活潑的形式,越來越受到教育界的重視。它可以通過圖文并茂的游戲環(huán)境來提高學(xué)生的學(xué)習(xí)積極性,激發(fā)學(xué)生的學(xué)習(xí)興趣,改變以前單調(diào)的學(xué)習(xí)形式。下面,就介紹一款較常用的Flash游戲的制作過程及其部分源程序,來幫助學(xué)生認(rèn)識(shí)物理學(xué)家。

● 游戲簡(jiǎn)介

游戲界面如圖1所示。

游戲運(yùn)行時(shí),在界面的左上角出現(xiàn)任務(wù)提示,給出一位物理學(xué)家對(duì)于物理學(xué)貢獻(xiàn)的描述。要求學(xué)生從界面中逐漸下落的4個(gè)物理學(xué)家的頭像圖片中(上面寫著物理學(xué)家的名字),選出問題答案。在圖片逐漸下落到界面底部的時(shí)間內(nèi),學(xué)生可用被替換成魔法棒的鼠標(biāo)點(diǎn)擊選擇。如果答案正確,屏幕右上角的分?jǐn)?shù)欄會(huì)自動(dòng)加上10分;如果錯(cuò)誤或沒有選擇都不會(huì)加分。答案正確或錯(cuò)誤,會(huì)出現(xiàn)不同的聲音提示。當(dāng)一個(gè)任務(wù)完成,會(huì)自動(dòng)進(jìn)入下一個(gè)任務(wù)。

教材中單調(diào)的有關(guān)物理學(xué)家的教學(xué)內(nèi)容轉(zhuǎn)換成了生動(dòng)的Flash游戲,不僅使學(xué)生在游戲的過程中完成對(duì)知識(shí)的掌握,同時(shí)也增加了學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)的主動(dòng)性。

● 制作思路

游戲的主時(shí)間軸如圖2所示。

游戲設(shè)計(jì)成一幀,包括游戲的初始化和核心功能兩部分。游戲的初始化包括鼠標(biāo)的隱藏和替換,鼠標(biāo)事件函數(shù)的監(jiān)聽,還有聲音的加載等;游戲的核心功能主要有任務(wù)提示(隨機(jī)出現(xiàn))、圖形的下落、選擇、判斷、加分和循環(huán)等。

游戲設(shè)計(jì)為四層:第一層放置Action Scrip代碼;第二層放置顯示分?jǐn)?shù)的動(dòng)態(tài)文本;第三層放置任務(wù)提示的動(dòng)態(tài)文本;第四層設(shè)置為遮罩層,用于放置問題的影片剪輯。

● 制作步驟

1.素材制作

本軟件素材包括圖片、聲音和影片剪輯,其素材庫(kù)結(jié)構(gòu)如圖3所示。

下面主要介紹鼠標(biāo)特效“mouse”和供選擇的物理學(xué)家“man”兩個(gè)影片剪輯的制作方法。

鼠標(biāo)特效有兩種狀態(tài):其一為正常狀態(tài),即鼠標(biāo)未點(diǎn)擊前的狀態(tài);其二是鼠標(biāo)左鍵點(diǎn)擊選擇答案的狀態(tài)。這兩種狀態(tài)下,已被魔術(shù)棒替換的鼠標(biāo)指針呈現(xiàn)不同的特效。所以,“mouse”影片剪輯分為兩個(gè)關(guān)鍵幀,第一幀為鼠標(biāo)未點(diǎn)擊前的狀態(tài),第二幀為鼠標(biāo)左鍵點(diǎn)擊下的狀態(tài)。時(shí)間軸如圖4所示。

“man”影片剪輯分為四個(gè)關(guān)鍵幀,每一幀都是一個(gè)物理學(xué)家的頭像,并用遮罩層作為修飾(如mask圖層),以便選中時(shí)做出對(duì)與錯(cuò)的顯示。其中每個(gè)關(guān)鍵幀上都有”stop”腳本,只控制播放其中的一幀。該影片剪輯在時(shí)間軸上如圖5所示。

2.代碼編寫

游戲代碼分為兩部分,一部分是游戲的初始化,另一部分是游戲的核心功能的實(shí)現(xiàn)。

(1)第一部分游戲的初始化,包括聲音加載、鼠標(biāo)特效和任務(wù)提示數(shù)組的創(chuàng)建等功能,具體代碼如下。

①聲音加載模塊:

myFire = new Sound();

myFire.attachSound("Fire.WAV");// 加載鼠標(biāo)單擊的特效聲音

myError = new Sound();

myError.attachSound("Error.WAV");// 加載答案選擇錯(cuò)誤的特效聲音

myRight = new Sound();

myRight.attachSound("Right.WAV");// 加載答案選擇正確的特效聲音

②鼠標(biāo)特效模塊:

Mouse.hide();//原鼠標(biāo)隱藏

this.attachMovie("mouse", "mouse", 5000);//運(yùn)行時(shí)導(dǎo)入鼠標(biāo)特效影片

mouse._x = mc._x;

mouse._y = mc._y;

var mouseStyle:Object = new Object();//鼠標(biāo)偵聽事件

//當(dāng)鼠標(biāo)移動(dòng)時(shí)保持影片與鼠標(biāo)位置一致

mouseStyle.onMouseMove = function()

{

mouse._x = _xmouse;

mouse._y = _ymouse;

updateAfterEvent();

};

//當(dāng)鼠標(biāo)按下時(shí)影片進(jìn)入并播放“mouse”影片剪輯的第二幀

mouseStyle.onMouseDown = function()

{

mouse.gotoAndPlay(2);

};

//創(chuàng)建鼠標(biāo)偵聽事件

Mouse.addListener(mouseStyle);

③用數(shù)組創(chuàng)建任務(wù)提示模塊:

var qArr:Array = new Array(4);

var qArrNum:Array = new Array(0, 1, 2, 3);

qArr[0] = "他發(fā)現(xiàn)并解釋了光電效應(yīng);揭示了質(zhì)量與能量的關(guān)系;提出了狹義相對(duì)論和廣義相對(duì)論。";

qArr[1] = "他在電學(xué)、電化學(xué)、電磁學(xué)領(lǐng)域做出過杰出貢獻(xiàn);發(fā)現(xiàn)了電磁感應(yīng)現(xiàn)象;畢生致力研究場(chǎng)的理論。";

qArr[2] = "他根據(jù)實(shí)驗(yàn)提出了電學(xué)中的基本定律;以他的名字命名電量的基本單位;設(shè)計(jì)出一種新型測(cè)力儀器——扭秤。";

qArr[3] = "他最重要的貢獻(xiàn)是建立電路定律;論述了電流的電磁力的衰減與導(dǎo)線長(zhǎng)度的關(guān)系;以他的名字命名電阻的單位。";

④定義變量并初始化:

var qID:Number = null;

var answer:Number = null;

var yourAns:Number = null;

var gameStart:Boolean = false;

var yourScore:Number = 0;

(2)第二部分游戲核心功能的實(shí)現(xiàn),由主體函數(shù)和各功能函數(shù)組成,具體代碼如下。

①游戲主體函數(shù):

function initGame() {

gameStart = true;

setLocation();

creatQ();

moveObj();

}//end of function

initGame();//調(diào)用主體函數(shù)

②四個(gè)功能函數(shù):

//設(shè)置“man”影片剪輯的初始位置與響應(yīng)鼠標(biāo)事件

function setLocation() {

for (var i = 0; i<4; i++) {

this["a"+i]._y = -80;

this["a"+i]._x = 60+140*i;

this["a"+i].gotoAndStop(i+1);

this["a"+i].rOw.gotoAndStop(1);

this["a"+i].onPress = function() {

if (gameStart == true) {

gameStart = false;

yourAns = Number(this._name.

substr(1));

checkResult(this);

}

};

}//end of for

}//end of function

//隨機(jī)生成任務(wù)

function creatQ():Void {

if (qArr.length>0) {

qID = Math.floor(Math.random()*qArr.

length);

dt_q.text = qArr[qID];

answer = qArrNum[qID];

qArr.splice(qID,1);

qArrNum.splice(qID,1);

} else {

dt_q.text = "Game Over";

moveObj = null;

delete moveObj;

this.onEnterFrame = null;

delete this.onEnterFrame;

for (var i = 0; i<4; i++) {

this["a"+i].onPress = null;

}

}

}

//控制“man”影片剪輯的運(yùn)動(dòng)

function moveObj():Void {

this.onEnterFrame = function() {

for (var i = 0; i<4; i++) {

this["a"+i]._y += 5;

updateAfterEvent();

if (this["a"+i]._y>=500) {

initGame();

}

}

};

}

//判斷所選擇的答案正確與否,并進(jìn)行計(jì)分操作

function checkResult(obj:MovieClip):Void {

if (answer == yourAns) {

yourScore += 10;

dt_score.text = yourScore;

obj.rOw.gotoAndStop("right");

} else {

obj.rOw.gotoAndStop("wrong");

}

}

至此,本游戲主體部分就制作完成了,其游戲特征還比較薄弱,情景性、競(jìng)爭(zhēng)性還需進(jìn)一步加強(qiáng)。用戶可以在此基礎(chǔ)上設(shè)置更加引人入勝的情境,加入競(jìng)爭(zhēng)機(jī)制,增加其游戲性;也可以根據(jù)自己的需要,增加任務(wù)的數(shù)量,添加更多的知識(shí)內(nèi)容,使學(xué)生通過游戲真正達(dá)到掌握知識(shí)的目的。

猜你喜歡
物理學(xué)家鼠標(biāo)函數(shù)
法國(guó)數(shù)學(xué)家、物理學(xué)家傅里葉
再見,史蒂芬·霍金
異同
關(guān)于函數(shù)的一些補(bǔ)充知識(shí)
高中數(shù)學(xué)中二次函數(shù)應(yīng)用舉隅オ
無獨(dú)有偶 曲徑通幽
世界歷史上最偉大的十位物理學(xué)家(三)
鼠標(biāo)折疊筆
45歲的鼠標(biāo)
超能力鼠標(biāo)
怀来县| 明光市| 来宾市| 富宁县| 万宁市| 佳木斯市| 乳山市| 乌恰县| 天全县| 太仆寺旗| 平罗县| 蒙城县| 道孚县| 景东| 正镶白旗| 宜丰县| 新昌县| 象山县| 夏津县| 开平市| 天全县| 商丘市| 蓬莱市| 平和县| 宁都县| 宿州市| 柳河县| 洪雅县| 铅山县| 基隆市| 恩平市| 南和县| 望谟县| 鸡东县| 临武县| 化隆| 炎陵县| 乌拉特前旗| 三台县| 海兴县| 通化县|