flash制作課件 第8章 基本運動與資料型課件學習資料_第1頁
flash制作課件 第8章 基本運動與資料型課件學習資料_第2頁
flash制作課件 第8章 基本運動與資料型課件學習資料_第3頁
flash制作課件 第8章 基本運動與資料型課件學習資料_第4頁
flash制作課件 第8章 基本運動與資料型課件學習資料_第5頁
已閱讀5頁,還剩39頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基本運動與資料型課件一、速度與加速度1、速度速度向量(velocity):某個方向上的速度(speed)。單軸速度 只考慮一個軸(如x軸)上的移動速度。移動速度就是物體每一幀移動的像素值。如在x軸上速度向量為5:物體在每一幀右移動5個像素。

x軸上速度向量為-5,物體每一幀左移動5個像素。例向右移動的球(速度:5)package{importflash.display.Sprite;importflash.events.Event;publicclassVelocityextendsSprite{privatevarball:Ball;privatevarvx:Number=5;publicfunctionVelocity(){init();}privatefunctioninit():void{ball=newBall;addChild(ball);ball.x=50;ball.y=100;addEventListener(Event.ENTER_FRAME,onEnterFrame);}privatefunctiononEnterFrame(event:Event):void {ball.x+=vx;}}}雙軸上速度-角速度package{importflash.display.Sprite;importflash.events.Event;publicclassVelocityAngleextendsSprite{privatevarball:Ball;

privatevarangle:Number=45;privatevarspeed:Number=3;publicfunctionVelocityAngle() {init();}privatefunctioninit():void{ball=newBalladdChild(ball);ball.x=50;ball.y=100;addEventListener(Event.ENTER_FRAME,onEnterFrame);}privatefunctiononEnterFrame(event:Event):void{varradians:Number=angle*Math.PI/180;varvx:Number=Math.cos(radians)*speed;varvy:Number=Math.sin(radians)*speed;ball.x+=vx;ball.y+=vy;}}}例使箭頭始終跟隨鼠標importflash.events.Event;vararrow:Arrow=newArrow();//Arrow為影夾定義的類varspeed:Number=5;addChild(arrow);addEventListener(Event.ENTER_FRAME,onEnterFrame);functiononEnterFrame(event:Event):void{vardx:Number=mouseX-arrow.x;vardy:Number=mouseY-arrow.y;varangle:Number=Math.atan2(dy,dx);arrow.rotation=angle*180/Math.PI;varvx:Number=Math.cos(angle)*speed;varvy:Number=Math.sin(angle)*speed;arrow.x+=vx;arrow.y+=vy;}2、加速度速度向量改變物體位置,加速度是改變物體速度向量。a)單軸加速度

privatefunctiononEnterFrame(event:Event):void{

vx+=ax;ball.x+=vx;}

例以加速度0.2向右走的球package{importflash.display.Sprite;importflash.events.Event;publicclassAcceleration1extendsSprite{varball:Ball;varvx:Number=0;varax:Number=0.2;publicfunctionAcceleration1(){ball=newBall;addChild(ball);ball.x=50;ball.y=100;addEventListener(Event.ENTER_FRAME,onEnterFrame);}privatefunctiononEnterFrame(event:Event):void{vx+=ax;ball.x+=vx;}}}例用左右方向鍵加速的球(每按一下加速度增或減0.2)package{importflash.display.Sprite;importflash.events.Event;importflash.events.KeyboardEvent;importflash.ui.Keyboard;

publicclassAccelerationextendsSprite{privatevarball:Ball;privatevarvx:Number=0;privatevarax:Number=0publicfunctionAcceleration(){ball=newBall();addChild(ball);ball.x=stage.stageWidth/2;ball.y=stage.stageHeight/2;addEventListener(Event.ENTER_FRAME,onEnterFrame);stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);stage.addEventListener(KeyboardEvent.KEY_UP,onKeyUp);}privatefunctiononKeyDown(event:KeyboardEvent):void{if(event.keyCode==Keyboard.LEFT) {ax=ax-0.2;}elseif(event.keyCode==Keyboard.RIGHT) {ax=ax+0.2;}}privatefunctiononKeyUp(event:KeyboardEvent):void{ax=0; }privatefunctiononEnterFrame(event:Event):void{vx+=ax;ball.x+=vx;}}}b)角加速度

varforce:Number=10;varangle:Number=45;//degrees.Needtoconvert!varax:Number=Math.cos(angle*Math.PI/180)*force;varay:Number=Math.sin(angle*Math.PI/180)*force;privatefunctiononEnterFrame(event:Event):void{……vx+=ax;vy+=ay;ball.x+=vx;ball.y+=vy;}例讓箭頭以加速度0.5追隨鼠標importflash.events.Event;vararrow:Arrow=newArrow();varvx:Number=0;varvy:Number=0;varforce:Number=0.5;addChild(arrow);addEventListener(Event.ENTER_FRAME,onEnterFrame);functiononEnterFrame(event:Event):void{vardx:Number=mouseX-arrow.x; vardy:Number=mouseY-arrow.y; varangle:Number=Math.atan2(dy,dx); arrow.rotation=angle*180/Math.PI; varax:Number=Math.cos(angle)*force; varay:Number=Math.sin(angle)*force; vx+=ax; vy+=ay;if(Math.abs(mouseX-arrow.x-vx)<Math.abs(dx))arrow.x+=vx;if(Math.abs(mouseY-arrow.y-vy)<Math.abs(dy))arrow.y+=vy;}小結:重要公式角速度轉換為x,y速度向量:

vx=speed*Math.cos(angle); vy=speed*Math.sin(angle);角加速度(作用于物體上的force)轉換為x,y加速度:

ax=force*Math.cos(angle); ay=force*Math.sin(angle);將加速度加入速度向量,每進入下一幀執行:

vx+=ax; vy+=ay;將速度向量加入坐標:,每進入下一幀執行

movieclip.x+=vx; sprite.y+=vy;1、邊界處理設圓的注冊點在圓心if(ball.x>stage.stageWidth) {//dosomething

}elseif(ball.x<0) {//dosomething

}if(ball.y>stage.stageHeight) {//dosomething

}elseif(ball.y<0) {//dosomething}以上邊界處理代碼正確嗎?二、環境邊界與摩擦力例產生20個小球,并在它們離開舞臺后進行刪除。 定義Ball類,加入公共屬性vx和vy,讓每個小球都有自己的速度向量。package{importflash.display.Sprite;publicclassBallextendsSprite{publicvarradius:Number;privatevarcolor:uint;publicvarvx:Number=0;publicvarvy:Number=0;

publicfunctionBall(radius:Number=40,color:uint=0xff0000){this.radius=radius;this.color=color;graphics.beginFill(color);graphics.drawCircle(0,0,radius);graphics.endFill();}}}第一幀:importflash.events.Event;varcount:int=20;varballs:Array=newArray();stage.scaleMode=StageScaleMode.NO_SCALE;stage.align=StageAlign.TOP_LEFT;for(vari:int=0;i<count;i++){ varball:Ball=newBall(10); ball.x=Math.random()*stage.stageWidth; ball.y=Math.random()*stage.stageHeight; ball.vx=Math.random()*2-1; ball.vy=Math.random()*2-1; addChild(ball); balls.push(ball);}addEventListener(Event.ENTER_FRAME,onEnterFrame);functiononEnterFrame(event:Event):void{ for(vari:Number=balls.length-1;i>0;i--) { varball:Ball=Ball(balls[i]); ball.x+=ball.vx; ball.y+=ball.vy;

if(ball.x-ball.radius>stage.stageWidth|| ball.x+ball.radius<0|| ball.y-ball.radius>stage.stageHeight|| ball.y+ball.radius<0) { removeChild(ball); balls.splice(i,1); if(balls.length<=0)removeEventListener(Event.ENTER_FRAME,onEnterFrame); } }}例產生100個小球作為噴泉的粒子,水源在舞臺底部的中心位置,所有的粒子都從這里發出,當它們超出舞臺邊界后,將會被重置回來。 所有粒子都以一個隨機的負y速度和一個隨機的x速度作為開始。這樣就會上噴射,并伴有輕微的左右移動。當粒子重置后,它們的速度向量也將被重置,同時粒子也要受到重力的牽引。文檔類Fountain.as屏幕環繞 對象超出了屏幕的左邊界,就讓它在屏幕右邊出現;在右邊出界,則將它置到左邊;上面出界就回到下面。if(ball.x-ball.radius>right) {ball.x=left-ball.radius;}elseif(ball.x+ball.radius<left) {ball.x=right+ball.radius;}if(ball.y-ball.radius>bottom) {___________________________;}elseif(ball.y<top-ball.radius) {___________________________;}回彈vx-vxx軸的if語句如下:if(ball.x+ball.radius>right){ball.x=right–ball.radius;vx*=-1;}elseif(ball.x–ball.radius<left){ball.x=left+ball.radius;vx*=-1;}例代碼見Bouncing.as2、摩擦力(Friction)摩擦力-與速度向量相反的力。方法1

設知道初始的vx和vy,每進入一幀時做:varspeed:Number=Math.sqrt(vx*vx+vy*vy);varangle:Number=Math.atan2(vy,vx);if(speed>friction){speed-=friction;}else{speed=0;}vx=Math.cos(angle)*speed;vy=Math.sin(angle)*speed;ball.x+=vx;ball.y+=vy;見Friction.as三、資料型課件的概念資料型課件--是根據教學目標把某一門課程或根據教學內容而劃分的專題或案例以電子書、資料庫的形式為學生自學、課堂教學、課后復習提供學習信息資源的一種課件。資料庫型多媒體課件分為電子書和多媒體資料庫兩種。

電子書通常指的是完全以計算機技術、電子通訊技術和網絡技術為依托而編輯、出版和發行的書籍。電子書兼具了平面與互聯網兩者的特點,可融入圖像,文字,聲音、視頻等媒體和超鏈接、游戲等互動網絡元素。普通多媒體課件的問題1.課件是軟件設計者教學理論水平與教學設計方法的具體體現,具有個性化的特點,難以共享。2.課件制成后不可修改,固化了教學的內容和策略,甚至固化了知識表達呈現的方式和順序,代替了教師的“教”,模式化了學生對該內容的“學”。3.課件與教科書配套,緊扣教學大綱,僅僅適合于某版教材,按教科書章節安排課件內容。4.課件只能適用于某一特定的教學情境,無法適應于千變萬化的教學情境。5.具有整體性、固定性、特定性、封閉性。多媒體教學資料庫--以知識點為基礎,按一定檢索和分類規則組織的素材資料庫,包括圖形、表格、公式、曲線、文字、聲音、動畫、電視等多維信息的素材資源。學科資料庫資料庫中的內容包括與課本內容有關的多媒體素材以及與教學內容相關的課外閱讀材料、參考資料、教案、各類習題等。專題資料庫選取某個學科中的一個知識點建立資料庫資料庫中的內容是與選擇的主題相關的多媒體素材以及教學參考、學習指導等教學資料。多媒體課件庫這種庫中主要的內容包括有關該課程的優秀教學管理軟件、題庫、多媒體課件、電子備課系統以及課件制作平臺等。圖書、音像資料庫與特定課程無關的圖書、音像資料庫實現對圖書、音像資料的計算機管理這樣可以在計算機上對圖書資料、音像資料進行檢索和瀏覽。多媒體資料型課件的設計原則

注重人的主體性

資料型課件與教學過程和教材版本不具有強相關性

基元性與可積性

易用性、通用性、靈活性、實用性

資料庫中存儲著組合課件所需的各種素材和課件的半成品。資料庫中含與學科、特定課程無關的獨立教學素材資源。借助資料庫,教師不需要耗費太多精力就可以完成課件的

組裝,制作出符合自己個性的課件。可從不同角度帶給學習者感官上的刺激,達到激發學習興

趣、改善學習的效果。制作要點考慮到課件內容的擴充性和應用的靈活性,在內容設計上,該類課件強調知識積件的組織與管理,每個菜單鏈接的內容為某一學科或某一知識范疇的小知識點,知識點不求大,求小而精,每個知識點沒有融入太多設計者個人的教學策略的思路,主要是實現資料收集和展示,這樣的設計打破了自成整體的課程教學課件固有教學思路對不同教學風格教師的限制,實現了教學應用的靈活性與可擴展性。在功能設計上,為了方便教學素材內容的隨時增加與擴充,在程序編制上主要采用外部文件鏈接的方式,實現對外部文件的隨時添加與刪除,因此,整個課件案例重點需掌握用于導入外部圖像和swf文件的URLRequest和addChild()函數和用于導入外部視頻文件的NetConnection()、NetStream()、Video()等用于控制視頻媒體流導入和播放的函數功能的應用。課本的例子P200---8.3資料型課件的制作制作要點課件的菜單項主要以素材類型進行分類,當用戶點擊相應素材類型的子菜單時,在屏幕中間將顯示該菜單所指向的某個知識點內容如圖為資料型課件運行的顯示效果。制作思路創建Actionscript3.0文檔對時間軸進行統籌規劃制作課件封面內容制作課件的主菜單與子菜單制作文字素材內容的顯示頁面制作“文字”菜單中各子菜單需調用的外部文本文件制作“視頻”菜單中各子菜單需調用的外部視頻文件利用“Actionscript”腳本語言為課件制作交互行為測試運行結果并保存文件stop();JR.addEventListener(MouseEvent.CLICK,clickJR);functionclickJR(event:MouseEvent):void{ gotoAndPlay(2)}//點擊封面的“Enter”按鈕進入第2幀的菜單界面菜單背景層菜單層,含按鈕:CaiDan1~CaiDan5第3幀子菜單層第4幀子菜單層第5幀子菜單層第6幀子菜單層//第2幀腳本:stop();CaiDan1.addEventListener(MouseEvent.MOUSE_OVER,moCD1);functionmoCD1(event:MouseEvent):void{gotoAndPlay(3)}//鼠標滑到“文字”菜單,將跳去第3幀顯示該菜單的子菜單項CaiDan2.addEventListener(MouseEvent.MOUSE_OVER,moCD2);functionmoCD2(event:MouseEvent):void{gotoAndPlay(4);rect1.graphics.clear();}

//清除上一個子菜單點擊后出現的圖片內容//CaiDan3~CaiDan5類似

functionclickCD5(event:MouseEvent):void{fscommand(“quit”);}//鼠標點擊“退出”菜單,將關閉播放器,退出整個程序第7幀內容層NeiR//第3幀腳本:各子菜單按鈕點擊后為WBSC變量進行賦值,跳到第7幀stop();varWBSC:NumberzCaiDan1.addEventListener(MouseEvent.CLICK,clickZCD1);functionclickZCD1(event:MouseEvent):void{WBSC=1; gotoAndPlay(7) }//zCaiDan2~zCaiDan4類似//第7幀腳本:根據第3幀給WBSC賦的值為“NeiR”文本框進行文本賦值stop();varloader:URLLoader=newURLLoader();loader.addEventListener(Event.COMPLETE,handleComplete);loader.dataFormat=URLLoaderDataFormat.VARIABLES;loader.load(newURLRequest("wenzi.txt"));functionhandleComplete(event:Event):void{switch(WBSC){ case1:NeiR.text=loader.data.CT1;break;……}四、建構主義學習理論怎樣看待知識(知識觀)知識不是定論--知識往往只是一種更可能正確的解釋,并非千真萬確、毋庸置疑的真理。知識不可套用--“死”知識只會禁錮人的頭腦,

只有“活”知識才會給人以力量。怎樣看待學習者(學生觀)學習者不是空殼容器,學習是知識改造過程怎樣看待學習過程(學習觀)知識不是老師教會的,而是學生自己學會的學習不是記憶知識過程,而是建構知識的過程建構主義的一則寓言建構主義的核心思想在問題解決中學習教學從問題開始,不是從結論開始學中做與做中學,不是套用知識以任務為驅動并注意任務的整體性把問題還給學生以學生為中心(主體)以教師為引導(建構意義的幫助者)將所要學的新理論知識隱含在一個或幾個支架問題中再將支架問題分解為若干子問題學生通過對問題進行分析、(小組)討論,得到討論結果老師進行綜合、歸納,最后得到問題的正確答案教學內容1支架問題2支架問題3支架問題1.1二級問題1.2二級問題1.3二級問題………………(a)支架式(Scaffolding)教學搭腳手架創設情境獨立探索協作學習效果評價安排要掌握的知識引入一定的問題情境啟發引導獨立分析幫助探索小組協商、討論自我評價、小組他評;學習能力、所作貢獻;建構知識課堂組織一般流程例——《計算機硬件組成》

第一階段:教學內容的確定針對課程《計算機硬件組成》,確立支架問題并細化。(1)支架問題的確立。(2)支架問題的細化/二級問題的確定。編號問題1計算機由哪些硬件組成?2每種硬件的作用是什么?3硬件之間是如何合作的?編號問題1.1計算機具體有哪些硬件(外觀及主機內部)?分別屬于五大部件的哪部分?2.1有哪些東西要輸入設備輸入?輸送的東西會被放到哪里?2.2存儲器有什么用?硬盤的內存有什么不同?2.3運算器有什么用?2.4控制器有什么用?你覺得它跟人體的大腦有相同之處嗎?為什么?2.5輸出設備輸出的是什么?3.1考慮一個生產線,材料從哪兒來?放在哪兒?在哪兒加工?加工完的產品放到哪兒去?整個生產過程由誰來指揮/下命令?3.2如果想讓計算機做3+3這個運算,你認為這個過程應該是怎樣的?3.3由以上分析,你覺得這五大部件是如何合作的?仔細想想,你覺得現實生活中還有什么活動跟計算機的工作流程相似?第二階段:組織全班分組討論、分析問題,提出其解決方案 由低層問題到高層問題,以學生討論為主,解決以上所列的問題,注意應該是先解決二級問題后再回到支架問題。第三階段:效果評價

教師收集各組學生的討論結果,匯總修正,提出正確全面的問題答案,并為每個小組進行評分。布置作業:到電腦城做一個市場調查,了解市場上有哪些硬件廠商及其生產的硬件、各種硬件的性能、指標和價格等;自己設計一個報告的格式,把調查的結果和總結以報告的形式上交。(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論