摘 要 在中職教育中,充分利用學生愛玩游戲的特性,用簡單的腳本代碼實現(xiàn)實例游戲,能有效達到教學要求。本文通過“彈小球”的設計實例,介紹如何利用Actionscript編程實現(xiàn)游戲特效。
【關(guān)鍵詞】Flash Actionscript Flash實例
針對中職教學中Flash編程課程,利用Actionscript編程實現(xiàn)一些互動小游戲,引發(fā)學生的好奇心,將枯燥的腳本語言和鮮活的互動游戲糅為一體,提高學生的理解能力和動手能力。
1 Actionscript編程語言特性
Actionscript腳本語言是Flash內(nèi)置編程語言,可以實現(xiàn)一些特殊的動畫效果。該語言可以幫助用戶按照各自想法實現(xiàn)不同的繁雜場景,呈現(xiàn)出多種靚麗的特效。Actionscript需要在Flash的動作面板中完成,動作面板有兩種模式:標準模式和專家模式。點擊進入動作面板后,左側(cè)的上方是一個“動作”工具箱,單擊前面的圖標展開每一個條目,可以顯示出對應條目下的動作腳本語句元素,雙擊選中的語句即可將其添加到編輯窗口。下方是一個“腳本”導航器。里面列出了FLA文件中具有關(guān)聯(lián)動作腳本的幀位置和對象;單擊腳本導航器中的某一項目,與該項目相關(guān)聯(lián)的腳本則會出現(xiàn)在“腳本”窗口中,并且場景上的播放頭也將移到時間軸上的對應位置上。雙擊腳本導航器中的某一項,則該腳本會被固定。右側(cè)部分是“腳本”編輯窗口,這是添加代碼的區(qū)域??梢灾苯釉凇澳_本”窗口中編輯動作、輸入動作參數(shù)或刪除動作。
本文通過簡單實例—“彈小球”,講解Actionscript中一些動作腳本的用法。
2 “彈小球”實例的設計與實現(xiàn)
2.1 常用的“彈小球”制作實例的Actionscript腳本語句
2.1.1 Flash.display.Shape
這是包flash.display下類public class Shape,通過 ActionScript 繪圖應用程序編程接口 (API),可使用Shape類創(chuàng)建簡單形狀。 Shape 類包括 graphics 屬性,該屬性可以從Graphics類訪問方法。Shape類繼承順序為DisplayObject、EventDispatch、Object。Sprite類包括 graphics 屬性,并且它包括不可用于 Shape 類的其它功能。 Sprite對象支持鼠標單擊事件,而Shape對象不支持。用import在Actionscript腳本語言中導入包flash.display。
2.1.2 events.Event
這是包flash.events下類public class Event,Event繼承自Object,Event類作為創(chuàng)建Event對象的基類,當發(fā)生事件時,Event對象將作為參數(shù)傳遞給事件偵聽器。對于許多事件(如由Event 類常量表示的事件),此基本信息就足夠了。但其它事件需要更詳細的信息。Event類的方法可以在事件偵聽器函數(shù)中使用,能過影響事件對象的行為。對于某些關(guān)聯(lián)事件可以做默認行為。用import在Actionscript腳本語言中導入包flash.events。
2.1.3 utils.Timer
這是包flash.utils下類public class Timer,timer繼承順序為EventDispatcher和Objiect,Timer 類是Flash Player計時器的接口??梢詣?chuàng)建新的Timer對象,可以按照指定時間順序運行代碼。使用 start() 的方法啟動計時器,添加事件偵聽器,設置代碼按照計時器間隔運行。對于創(chuàng)建的Timer對象取決于swf文件的幀頻或 Flash Player的環(huán)境,能基本進行間隔調(diào)度。用import在Actionscript腳本語言中導入包utils.Timer。
2.1.4 events.TimerEvent
同(2)是屬于一個類,但是在events下的創(chuàng)建一個TimeEvent對象,這是時間事件偵聽器,用import在Actionscript腳本語言中導入包flash.events。
2.1.5 text.TextField
這是包flash.text下類public class TextField,TeXField繼承順序為InteractiveObject、DisplayObject、EventDispatcher和Object,TextField 類用于創(chuàng)建顯示對象以顯示和輸入文本。若要動態(tài)創(chuàng)建文本字段,用TextField()構(gòu)造函數(shù),允許設置、選擇和操作在創(chuàng)作過程中或運行時創(chuàng)建的動態(tài)或輸入文本字段中的文本。用import在Actionscript腳本語言中導入包flash.text。
2.1.6 addEventListene
這是一個偵聽事件并對應處理的函數(shù),當偵聽到對應事件后直接處理,它只接受Event對象為自己的唯一參數(shù),并且不能返回任何結(jié)果。偵聽器在偵聽時分為三個階段:捕獲階段、目標階段和冒泡階段。偵聽順序為捕獲階段→目標階段→冒泡階段。捕獲階段用于監(jiān)聽是否調(diào)用了監(jiān)聽函數(shù),目標階段確定目標本身,冒泡階段表面監(jiān)聽目標回到原點。自帶的addEventListener方法默認只有參數(shù)event事件類型。
2.2 “彈小球”實例的設計思路
明確“彈小球”互動小游戲的全部元件和交互對象,這個游戲中首先我們要設定好整個游戲的框架大小,其中有一個元件小球,并設定好大小和顏色,要有一個元件球板,并設定好大小和顏色。之后我們開始設計互動,小球能夠上下左右進行彈射,其中上左右是通過我們規(guī)定好的游戲框架的框壁,下是一個可以移動的球板,一開始小球移動速度很慢,每次彈射后加速一下,當加速至我們規(guī)定的最高速度后就保持不變。當我們的球板沒有接住小球,讓小球從游戲框中掉落,顯示游戲結(jié)束,再重新開始,如此循環(huán)。
教學有法,而教無定法,教學中不能一味地死板硬套,只要涉及游戲就聞而變色。通過互動小游戲的設計,掌握Actionscript腳本編程的學習,捕捉學生的心理狀態(tài),發(fā)現(xiàn)教學契機,構(gòu)建良好的教學方法,達到理想的教學效果。
參考文獻
[1]陳民,吳婷.動畫設計與制作[M].南京:江蘇教育出版社,2010,03.
[2]甘登岱.Flash8.0版精彩動漫設計[M].北京:航空工業(yè)出版社,2007.
作者簡介
梁卓韜(1980-),男,安徽省合肥市人。碩士學位?,F(xiàn)為安徽省汽車工業(yè)學校講師,主要研究方向為計算機應用技術(shù)。
作者單位
安徽省汽車工業(yè)學校 安徽省合肥市 231131