Flash攝像頭游戲課件的設(shè)計(jì)之動(dòng)畫(huà)制作論文
摘要:
攝像頭游戲是隨著技術(shù)的進(jìn)步產(chǎn)生出來(lái)的一種新的游戲形式,它擺脫了鼠標(biāo)與鍵盤(pán)的限制,給游戲者以全新的互動(dòng)體驗(yàn)。Flash 8提供的位圖處理功能為Flash攝像頭游戲的實(shí)現(xiàn)提供了可能。將攝像頭游戲技術(shù)引入到Flash課件的開(kāi)發(fā),可以充分發(fā)揮其互動(dòng)性和趣味性,與傳統(tǒng)Flash課件相比,具有其不可替代的優(yōu)勢(shì)。該文提出設(shè)計(jì)Flash攝像頭游戲課件的基本原則,并以《水果樂(lè)園》課件為例,詳細(xì)介紹了開(kāi)發(fā)的過(guò)程和主要實(shí)現(xiàn)方法,為攝像頭游戲類課件制作提供了參考。
關(guān)鍵詞:Flash;攝像頭游戲;
一、引言
攝像頭游戲是隨著攝像頭的普及和圖形圖像技術(shù)的不斷發(fā)展而出現(xiàn)的。它擺脫了鼠標(biāo)鍵盤(pán)的限制,給游戲者帶來(lái)全新的游戲體驗(yàn),能夠?qū)崿F(xiàn)許多傳統(tǒng)游戲無(wú)法實(shí)現(xiàn)的游戲效果。它通過(guò)攝像頭將玩家投影到游戲中,由玩家自己做動(dòng)作與游戲進(jìn)行交互。畫(huà)面中登場(chǎng)的敵人或道具都將對(duì)玩家的動(dòng)作即刻做出反應(yīng),讓玩家體驗(yàn)到前所未有的新鮮感。
Flash課件是用Flash的形式表現(xiàn)教學(xué)內(nèi)容一種課件形式。Flash課件充分利用了Flash的直觀性、互動(dòng)性以及娛樂(lè)性,能夠有效的調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,激發(fā)學(xué)生的學(xué)習(xí)樂(lè)趣,在當(dāng)前的教學(xué)過(guò)程中發(fā)揮著越來(lái)越大的作用。Flash攝像頭游戲課件整合了攝像頭游戲和Flash課件的優(yōu)點(diǎn),充分體現(xiàn)了寓教于樂(lè)的教學(xué)思想。它帶給學(xué)生全新的游戲感受,能夠極大的激發(fā)學(xué)生的學(xué)習(xí)興趣。它能夠激發(fā)學(xué)生的多種感觀刺激,建立強(qiáng)烈的真實(shí)感,通過(guò)游戲過(guò)程中學(xué)生與游戲的互動(dòng),還能夠促進(jìn)學(xué)生手、耳、眼以及肢體的相互協(xié)調(diào),達(dá)到較好的教學(xué)效果。
二、Flash攝像頭游戲課件的設(shè)計(jì)原則
Flash攝像頭游戲課件具有較好參與性、體驗(yàn)性,能夠有效增強(qiáng)學(xué)習(xí)效果,提高學(xué)習(xí)效率,特別適合于學(xué)生動(dòng)作類技能的訓(xùn)練。在設(shè)計(jì)的過(guò)程中,應(yīng)遵循如下原則,體現(xiàn)其獨(dú)特的優(yōu)勢(shì)。
(1)教學(xué)性原則
這是所有課件,應(yīng)用于教學(xué)的最基本的要求,該類課件也不例外,在設(shè)計(jì)的過(guò)程中,必須針對(duì)一定的教學(xué)目標(biāo),遵循認(rèn)知過(guò)程的一般規(guī)律,組織教學(xué)內(nèi)容和教學(xué)活動(dòng)。緊密圍繞以學(xué)生學(xué)習(xí)為中心的設(shè)計(jì)思路。
(2)易用性原則
攝像頭游戲課件的交互,計(jì)算機(jī)對(duì)于學(xué)習(xí)者的動(dòng)作回應(yīng),都是建立在動(dòng)作檢測(cè),捕捉學(xué)習(xí)者動(dòng)作影像的基礎(chǔ)上。設(shè)計(jì)過(guò)程中應(yīng)考慮讓學(xué)習(xí)者的操作盡量簡(jiǎn)便,易于上手使用。做好課件使用的幫助或者使用手冊(cè)。
(3)科學(xué)性原則
課件的內(nèi)容,不能有科學(xué)性的錯(cuò)誤,這也是設(shè)計(jì)中基本要求,必須對(duì)課件所有呈示的內(nèi)容,進(jìn)行嚴(yán)格仔細(xì)的審查,保證學(xué)生看到的所有知識(shí)點(diǎn),都必須科學(xué)、準(zhǔn)確,一般由課件開(kāi)發(fā)小組中學(xué)科專家把好關(guān)。
(4)藝術(shù)性原則
如果一個(gè)課件的展示不但取得良好的教學(xué)效果,而日‘使人賞心悅目,使人獲得美的享受,則說(shuō)課件具有較高的藝術(shù)性。這樣的課件是好的內(nèi)容與美的形式的統(tǒng)一,美的形式能激發(fā)學(xué)生的興趣,史好地表現(xiàn)內(nèi)容。其表現(xiàn)有:展示的對(duì)象結(jié)構(gòu)對(duì)稱,色彩柔和,搭配合理,有審美性。
(5)體驗(yàn)性原則
攝像頭游戲課件因其交互的多維化,全方位,檢測(cè)學(xué)習(xí)者動(dòng)作,使得學(xué)習(xí)者的沉浸感很強(qiáng),要求學(xué)習(xí)者的個(gè)人形象和課件環(huán)境融合的過(guò)程中,能讓學(xué)習(xí)能有身臨其境的感覺(jué),所以課件在設(shè)計(jì)的過(guò)程中,注意課件環(huán)境,界面的元素,聲音的效果,都必然能激發(fā)學(xué)習(xí)者的投入感。該原則是攝像頭游戲課件設(shè)計(jì)過(guò)程中最重要的原則,也是整個(gè)課件制作的關(guān)鍵,成敗所在。
三、Flash攝像頭游戲課件的設(shè)計(jì)與實(shí)現(xiàn)
在兒童英語(yǔ)教學(xué)中,引入Flash攝像頭游戲課件,使得兒童擺脫鍵盤(pán)和鼠標(biāo)的單一化的交互方式,而進(jìn)行身體動(dòng)作與計(jì)算機(jī)的交互,增強(qiáng)兒童學(xué)習(xí)的體驗(yàn)感,能較好的輔助英語(yǔ)的學(xué)習(xí)。以下是設(shè)計(jì)與開(kāi)發(fā)的水果樂(lè)園課件的實(shí)現(xiàn)步驟和主要功能代碼。
1.攝像頭圖像的捕獲
使用Camera類實(shí)現(xiàn)對(duì)攝像頭圖像的捕獲。Camera.get()方法返回對(duì)用于捕獲視頻的 Camera 對(duì)象的引用。當(dāng) SWF 文件嘗試訪問(wèn) Camera.get() 返回的攝像頭時(shí),F(xiàn)lash Player 顯示拒絕對(duì)話框,用戶可從中選擇是允許還是拒絕對(duì)攝像頭的訪問(wèn)。setMode()方法將攝像頭的`捕獲模式設(shè)置為最符合指定要求的本機(jī)模式。//新建一個(gè)Camera對(duì)象,實(shí)例名為my_cam,并設(shè)置對(duì)象屬性。var my_cam:Camera = Camera.get();my_cam.setMode(160,120,30,true);
2.攝像頭圖像的顯示
1)顯示圖像
若要實(shí)際開(kāi)始捕獲視頻,必須將 Camera 對(duì)象附加到 Video 對(duì)象。attachVideo(source:Object) : Void指定將在舞臺(tái)上的 Video 對(duì)象的邊界內(nèi)顯示的視頻流 (source)。//新建一個(gè)Video對(duì)象,將Camera對(duì)象附加到Video上。var my_video:Video;my_video.attachVideo(my_cam);
2)水平翻轉(zhuǎn)圖像
由于攝像頭中看到的圖像與游戲者本人的方向相反。為了方便游戲者操作游戲,在加載圖像時(shí)應(yīng)該把圖像左右翻轉(zhuǎn)。這一操作非常重要,將直接影響游戲者的游戲體驗(yàn)。
Video._rotation 屬性可以實(shí)現(xiàn)對(duì)Video圖像的旋轉(zhuǎn),但是無(wú)法實(shí)現(xiàn)左右翻轉(zhuǎn)的效果。
Video._xscale 屬性指示從 Video 對(duì)象注冊(cè)點(diǎn)開(kāi)始應(yīng)用的 Video 對(duì)象的水平縮放比例 。當(dāng)x軸的水平縮放比例為-100時(shí),則可以實(shí)現(xiàn)對(duì)Video對(duì)象的水平翻轉(zhuǎn)。默認(rèn)注冊(cè)點(diǎn)為 (0,0)。縮放本地坐標(biāo)系統(tǒng)將影響 _x 和 _y 屬性設(shè)置,這些設(shè)置是以整像素定義的。由于翻轉(zhuǎn)時(shí)是以左上角主測(cè)點(diǎn)為中心,因此在水平翻轉(zhuǎn)之后,Video對(duì)象的坐標(biāo)雖然未發(fā)生改變,但是整體位置向左平移了Video. _width個(gè)像素。因此翻轉(zhuǎn)之后我們需要設(shè)置Video的新坐標(biāo)為Video._x = Video._x+Video._width。
3.獲取圖像信息
要對(duì)獲取的圖像進(jìn)行分析,必須將從攝像頭獲取的圖像信息提取出來(lái)。在Flash8中, Bitmap對(duì)象存儲(chǔ)了圖像中各點(diǎn)的RGB通道信息以及Alpha通道信息,可以使用new方法建立一個(gè)Bitmap對(duì)象。然后使用draw()方法提取某一時(shí)刻video對(duì)象中的像素信息。
draw(source:Object,[matrix:Matrix],[colorTransform.:ColorTransform], [blendMode:Object], [clipRect:Rectangle], [smooth:Boolean]) : Void使用 Flash Player 矢量呈現(xiàn)器在目標(biāo)圖像上繪制源圖像。使用 Matrix、ColorTransform、BlendMode 對(duì)象以及目標(biāo) Rectangle 對(duì)象來(lái)控制呈現(xiàn)的執(zhí)行方式。或者也可以指定縮放時(shí)是否應(yīng)對(duì)位圖進(jìn)行平滑處理。這只適用于當(dāng)源對(duì)象是 BitmapData 對(duì)象時(shí)的情況。
import Flash.display.BitmapData;
//創(chuàng)建BitmapData對(duì)象Var snapshot:BitmapData=newBitmapData(output_vid._width,output_vid._height);
//從my_video獲取當(dāng)前圖像now.draw(my_video);
4.運(yùn)動(dòng)檢測(cè)的實(shí)現(xiàn)
該部分是整個(gè)攝像頭游戲?qū)崿F(xiàn)的核心。主要利用了Flash 8的位圖處理功能,即BitmapData類。
1)基本思路
我們可以使用getPixel(x,y)獲取前一張圖片上每個(gè)像素點(diǎn)的像素值,然后對(duì)比后一張圖片中的每一點(diǎn)的像素值,當(dāng)像素的亮度差值變化達(dá)到一定程度時(shí),認(rèn)為該點(diǎn)發(fā)生了運(yùn)動(dòng)變化。通過(guò)這種方式,得到前后兩張圖片的負(fù)片效果圖。
//閥值tolerance=10;
//獲取當(dāng)前圖像now某一點(diǎn)的RGB值nc=now.getPixel(x,y);
//紅色通道nr=nc16&0xff;
//綠色通道ng=nc8&0xff;
//藍(lán)色通道nb=nc&0xff;
//計(jì)算該點(diǎn)亮度值nl=Math.sqrt(nr*nr + ng*ng + nb*nb)
//獲取前一快照before同一點(diǎn)的RGB值bc=before.getPixel(x,y);
//紅色通道br=bc16&0xff;
//綠色通道bg=bc8&0xff;
//藍(lán)色通道bb=bc&0xff;
//計(jì)算該點(diǎn)亮度值bl=Math.sqrt(br*br + bg*bg + bb*bb);
//計(jì)算亮度值的變化d=Math.round(Math.abs(bl-nl));
if(dtolerance){//該點(diǎn)發(fā)生了變化 }
但是這種方法存在計(jì)算效率問(wèn)題。按圖像大小為180*160像素,每秒30幀計(jì)算,每計(jì)算一副圖片需要的計(jì)算次數(shù)為180*160*30。圖像的像素越大,需要的計(jì)算次數(shù)就越多。采用隔點(diǎn)檢測(cè)的方法可以在一定程度上緩解計(jì)算壓力,即每隔n個(gè)像素檢測(cè)一次,這樣電腦的計(jì)算次數(shù)減少為原來(lái)的1/n。
2)改進(jìn)思路
Flash8提供的圖像混合模式可以解決上面遇到的效率問(wèn)題。Flash8提供了11種圖像混合模式。每一種混合模式可以得到不同的混合效果。Different 混合模式是基于兩張圖片之間的亮度差值進(jìn)行計(jì)算,從而得到圖片的負(fù)片效果。利用該模式,便可以得到移動(dòng)像素的檢測(cè)圖像。
//將前一張快照before的圖像繪制到當(dāng)前快照now上,使用different混合模式now.draw(before, new Matrix(), null, "difference");
圖像中黑色表示沒(méi)有發(fā)生移動(dòng),其他顏色表示發(fā)生了移動(dòng)。由于Flash8提供的混合模式是采用C++編碼實(shí)現(xiàn)的,因此運(yùn)行效率要比Action Script編碼更加高效。
5.動(dòng)態(tài)顯示檢測(cè)圖像
1)處理檢測(cè)圖像
通過(guò)以上兩種方式得到的圖像中色彩范圍較廣,這增加了統(tǒng)計(jì)上面的困難。通過(guò)使用 threshold() 方法,可以隔離和替換圖像中的顏色范圍,并對(duì)圖像像素執(zhí)行其它邏輯操作。threshold()函數(shù)根據(jù)指定的閾值測(cè)試圖像中的像素值,并將通過(guò)測(cè)試的像素設(shè)置為新的顏色值。這樣,便得到了清晰醒目的檢測(cè)圖像。
//將大于閥值0xFF111111的像素替換為綠色。
myBitmap.threshold(myBitmap, myBitmap.rectangle, myBitmap.rectangle.topLeft, "", 0xFF111111, 0xFF00FF00, 0x00FFFFFF, false);
2)檢測(cè)圖像的顯示
Bitmap對(duì)象無(wú)法直接在舞臺(tái)上顯示,必須附著在MovieClip上面才能顯示。因此可以使用MovieClip類的attachBitmap()方法,將獲取的圖像信息顯示出來(lái)。
//創(chuàng)建一個(gè)影片剪輯來(lái)顯示當(dāng)前圖像this.createEmptyMovieClip(當(dāng)前,this.getNextHighest Depth());
//將攝像頭獲取的圖像顯示在影片剪輯內(nèi)bitmap_mc.attachBitmap(now,1);
3)檢測(cè)圖像的動(dòng)態(tài)顯示
要實(shí)現(xiàn)檢測(cè)圖像的動(dòng)態(tài)顯示,必須不斷的更新當(dāng)前圖像now和歷史圖像before,并進(jìn)行混合處理?梢园褭z測(cè)圖像的功能寫(xiě)成方法snapshot(),每隔100毫秒調(diào)用一次。
偽代碼如下:
function snapshot() {//獲取當(dāng)前圖像//獲取檢測(cè)圖像//將檢測(cè)圖像繪制到//將檢測(cè)圖像中RGB超過(guò)閥值0xFF111111的部分替換成綠色//顯示檢測(cè)圖像//本次檢測(cè)完成之后,當(dāng)前圖像便成為了歷史圖像。為下一次檢測(cè)做好準(zhǔn)備。preBitmap = nowBitmap.clone();}
在該方法中,關(guān)鍵在于每次檢測(cè)完成之后當(dāng)前圖像和歷史圖像的更新。
6.檢測(cè)特定區(qū)域內(nèi)的運(yùn)動(dòng)狀態(tài)
經(jīng)過(guò)上面幾步操作,已經(jīng)得到了檢測(cè)圖像。檢測(cè)圖像是對(duì)整幅圖像的運(yùn)動(dòng)情況的反映。在游戲中,經(jīng)常需要檢測(cè)的是某一特定區(qū)域的運(yùn)動(dòng)狀態(tài)。
1)檢測(cè)某點(diǎn)的運(yùn)動(dòng)狀態(tài)
因?yàn)橐呀?jīng)到了檢測(cè)圖像,所以在檢測(cè)某一點(diǎn)運(yùn)動(dòng)狀態(tài)時(shí),只需要判斷檢測(cè)圖像上該點(diǎn)的RGB值是否大于閥值。
偽代碼如下:
pix = myBitmap.getPixel(x, y);if (pix大于閥值) {//該點(diǎn)發(fā)生了運(yùn)動(dòng)}
2)檢測(cè)某區(qū)域的運(yùn)動(dòng)狀態(tài)
由于燈光因素、攝像頭圖像噪點(diǎn)等干擾因素的存在,每次只檢測(cè)一個(gè)點(diǎn)容易造成檢測(cè)結(jié)果的不穩(wěn)定。因此,大多采用區(qū)域檢測(cè)的方式。即在檢測(cè)某點(diǎn)運(yùn)動(dòng)狀態(tài)時(shí),檢測(cè)的不僅僅是這個(gè)點(diǎn),而是以該點(diǎn)開(kāi)始的n*n個(gè)像素的區(qū)域(n的取值根據(jù)實(shí)際情況確定,在檢測(cè)點(diǎn)數(shù)量較多時(shí),n的值不宜取太大。)。如果檢測(cè)區(qū)域內(nèi)的像素點(diǎn)變化數(shù)量超過(guò)一定閥值,如60%,則認(rèn)為該區(qū)域發(fā)生了運(yùn)動(dòng)。
需要注意的一點(diǎn)是,由于看到的圖像是經(jīng)過(guò)水平翻轉(zhuǎn)的,但原有的圖像內(nèi)部坐標(biāo)系并沒(méi)有發(fā)生變化,因此,檢測(cè)時(shí)的取點(diǎn)位置也要水平翻轉(zhuǎn)。
//以(rectx,recty)為頂點(diǎn)的rectw*recth的矩形區(qū)域的運(yùn)動(dòng)情況
function ismove(a, rectx, recty, rectw, recth) {var i, j;
var sum = 0;
var pix;
for (i=1; i=rectw; i++) {for (j=1; j=recth; j++) {//圖像水平翻轉(zhuǎn)后取點(diǎn)位置相對(duì)變化pix = a.getPixel(160-i-rectx, j+recty);
if (pix132361) {sum++;
//trace("sum="+sum);
if (sum(recth*rectw/2)) {return (sum);
//該區(qū)域發(fā)生了運(yùn)動(dòng)} else {return 0;}}
在該方法中,檢測(cè)圖像、檢測(cè)區(qū)域頂點(diǎn)坐標(biāo)、檢測(cè)區(qū)域大小都為作為變量輸入。采用這種方法,提高了程序的重用性,還可以實(shí)現(xiàn)對(duì)運(yùn)動(dòng)物體的檢測(cè)。
3)檢測(cè)點(diǎn)的設(shè)置
所謂檢測(cè)點(diǎn),實(shí)際是一個(gè)影片剪輯。在進(jìn)行區(qū)域檢測(cè)時(shí),以該影片剪輯的坐標(biāo)(x,y)確定檢測(cè)區(qū)域的坐標(biāo)位置。檢測(cè)點(diǎn)可以是一個(gè)不可見(jiàn)的輔助點(diǎn),也可以是舞臺(tái)中運(yùn)動(dòng)的物體。當(dāng)把運(yùn)動(dòng)物體做為檢測(cè)點(diǎn)時(shí),隨著物體的移動(dòng),檢測(cè)區(qū)域也隨之移動(dòng),因此可以實(shí)現(xiàn)對(duì)運(yùn)動(dòng)物體的檢測(cè)。檢測(cè)點(diǎn)的作用:一是可以起到輔助點(diǎn)的作用,簡(jiǎn)化了檢測(cè)區(qū)域定位的繁瑣工作,使定位操作可視化。二是實(shí)現(xiàn)了代碼的重用,起到了簡(jiǎn)化程序的作用。
7.實(shí)現(xiàn)攝像頭運(yùn)動(dòng)檢測(cè)的控制接口
游戲中檢測(cè)點(diǎn)接口的作用就是返回舞臺(tái)中被觸碰的檢測(cè)點(diǎn)編號(hào)。在接口函數(shù)中,調(diào)用了以上幾個(gè)功能函數(shù)。返回值為檢測(cè)點(diǎn)編號(hào)。
function istouch() {var max:Number = 0;
var min:Number;
var num:Number;
for (var i = 1; i=9; i++) {//檢測(cè)第i個(gè)檢測(cè)點(diǎn)是否被觸碰min = ismove(myBitmap, this["point"+i]._x-xpoint, this["point"+i]._y-ypoint, 10, 10);
//每次只能激發(fā)一個(gè)點(diǎn),選擇9個(gè)點(diǎn)中移動(dòng)最顯著的一個(gè)if (max max = min;num = i;}}
if (num) {//返回被觸碰的點(diǎn)的序號(hào)return (num);} else {//一個(gè)檢測(cè)點(diǎn)也沒(méi)碰到!;return 0;}}
8.游戲交互功能的實(shí)現(xiàn)
游戲功能交互的實(shí)現(xiàn)tulaoshi.com方法和其他Flash游戲大體類似。在此游戲中,主要包括3大功能模塊:子彈系統(tǒng),氣球系統(tǒng) 和主控制系統(tǒng)。
1)子彈系統(tǒng)的實(shí)現(xiàn)
該部分主要是實(shí)現(xiàn)子彈的運(yùn)動(dòng)。游戲中有9個(gè)檢測(cè)點(diǎn),每個(gè)檢測(cè)點(diǎn)都可以發(fā)射子彈。各位置發(fā)射的子彈運(yùn)動(dòng)方向是不同的。第i個(gè)檢測(cè)點(diǎn)的子彈方向?yàn)閞ot=i*20,初始位置在界面底部中央。
this._x = this._x-30*Math.cos(rot*Math.PI/180);
this._y = this._y-30*Math.sin(rot*Math.PI/180);
當(dāng)子彈出界時(shí),要使用this.unloadMovie()方法將該子彈實(shí)例銷毀,釋放內(nèi)存。
2)氣球系統(tǒng)的實(shí)現(xiàn)
該部分主要是實(shí)現(xiàn)氣球的碰撞檢測(cè),判斷氣球是否被子彈擊中需使用hitTest()函數(shù)。該函數(shù)有兩種用法:
用法 1:
根據(jù) shapeFlag 設(shè)置,將 x 和 y 坐標(biāo)與指定實(shí)例的形狀或邊框進(jìn)行比較。如果 shapeFlag 設(shè)置為 true,則只計(jì)算在舞臺(tái)上的實(shí)例實(shí)際占據(jù)的區(qū)域,并且如果 x 和 y 在任意一點(diǎn)重疊,則返回 true 值。
用法 2:
計(jì)算 target 和指定實(shí)例的邊框,如果它們?cè)谌我庖稽c(diǎn)上重疊或交叉,則返回 true。
3)主控制系統(tǒng)的實(shí)現(xiàn)
主控制系統(tǒng)是實(shí)現(xiàn)互動(dòng)功能的核心部分。主要工作就是把游戲中所有的功能模塊集成起來(lái),對(duì)各功能模塊進(jìn)行調(diào)度和顯示。一方面,主控制系統(tǒng)要接收從攝像頭功能接口傳遞的信息;一方面根據(jù)接收的信息執(zhí)行相應(yīng)的功能代碼。
四、結(jié)束語(yǔ)
Flash攝像頭游戲課件能夠?qū)崿F(xiàn)很多傳統(tǒng)Flash課件難以實(shí)現(xiàn)的效果,特別是對(duì)操作技能的培養(yǎng)。我們開(kāi)發(fā)的《水果樂(lè)園》課件提供給一些小學(xué),進(jìn)行了英語(yǔ)學(xué)習(xí)實(shí)踐,效果還不錯(cuò)。但是,對(duì)于Flash攝像頭游戲課件應(yīng)用于學(xué)生高級(jí)思維策略的訓(xùn)練,還沒(méi)有進(jìn)行深入的研究,特別是角色扮演型、問(wèn)題探究型等學(xué)習(xí)模式等實(shí)施,有待進(jìn)一步的的探索和實(shí)踐。
【Flash攝像頭游戲課件的設(shè)計(jì)之動(dòng)畫(huà)制作論文】相關(guān)文章:
小學(xué)flash動(dòng)畫(huà)課件制作方法03-26
flash動(dòng)畫(huà)教學(xué)課件03-23
flash教學(xué)課件制作03-29
制作flash教學(xué)課件03-28
小學(xué)flash課件制作03-24
初識(shí)flash動(dòng)畫(huà)教學(xué)課件03-30
小學(xué)動(dòng)畫(huà)《FLASH入門(mén)》課件03-22
如何制作flash游戲論文06-12
動(dòng)畫(huà)設(shè)計(jì)與制作Flash8說(shuō)課稿 制作引層動(dòng)畫(huà)11-08