資源描述:
《App Inventor 安卓手機(jī)應(yīng)用開(kāi)發(fā)簡(jiǎn)易入門(mén)3-2》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、《AppInventor安卓手機(jī)應(yīng)用開(kāi)發(fā)簡(jiǎn)易入門(mén)》選修課程第三章第2節(jié)快樂(lè)打鼴鼠——HappyKick本節(jié)概要:本章將通過(guò)HappyKick的課例,介紹新組件canvas、ImageSprint,在后續(xù)中添加計(jì)時(shí)器組件。圍繞canvas的點(diǎn)擊事件,配合一些常用控件,達(dá)到打鼴鼠的游戲效果,為了讓游戲更有趣和耐玩性,增加了生命值和血條等參數(shù)。通過(guò)學(xué)習(xí)本節(jié),讓學(xué)生明白,做一個(gè)安卓小游戲,也是一件很簡(jiǎn)單的事。學(xué)習(xí)要點(diǎn)?熟悉canvas、ImageSprint組件?熟悉計(jì)時(shí)器組件?設(shè)置自變量來(lái)顯示血條認(rèn)識(shí)新組件表3-2-1類型名稱用途Canvas
2、組件:畫(huà)布用于打鼴鼠的背景ImageSprint組件:圖片精靈裝載鼴鼠圖像Clock組件:計(jì)時(shí)器組件定時(shí)事件表3-2-2:Image組件與ImageSprint組件的異同點(diǎn)ImageSprintImage組件相同都是放置圖片的組件,用于顯示圖片不同點(diǎn)是canvas的內(nèi)部組件,要依賴于canvas存在,一般的圖片組件,獨(dú)立使用,不能單獨(dú)存在。沒(méi)有點(diǎn)擊事件。實(shí)例探究:HappyKick圖3-2-3:程序界面1圖3-2-4:程序界面233《AppInventor安卓手機(jī)應(yīng)用開(kāi)發(fā)簡(jiǎn)易入門(mén)》選修課程第三章界面設(shè)計(jì)與組件構(gòu)成:圖3-2-5最終UI界
3、面組件的拖放和設(shè)置圖3-2-6圖3-2-4所示。界面主要涉及到的是第一次用都的canvas組件,ImageSprit、Clock組件,拖曳。組件清單:2個(gè)canvas,1個(gè)圖片精靈2個(gè)水平布局組件,垂直組件目錄下:1個(gè)Image,1個(gè)按鈕,一個(gè)聲音組件,界面設(shè)計(jì)和詳細(xì)表如下:3-2-7組件所屬列表組件名字屬性名屬性值說(shuō)明DrawingandCanvas1height300背景AnimationDrawingandImgs_BeCatchpicture1.png顯示鼴鼠AnimationDrawingandCanvas2height10顯
4、示血條AnimationLayoutHorizontalArrangement2水平布局控件UserinterfaceLab_kicktext已打擊Userinterfacelab_catchtext0UserinterfaceLab_lifetextlifeUserinterfaceLab_nowlifetext0LayoutHorizontalArrangement1水平控件UserinterfaceBtn_againtext重新開(kāi)始UserinterfaceBtn_canceltext退出TimerIntUserinterface
5、Clock110001秒執(zhí)行一次erval34《AppInventor安卓手機(jī)應(yīng)用開(kāi)發(fā)簡(jiǎn)易入門(mén)》選修課程第三章Block塊編程拼接搭建要實(shí)現(xiàn)課例的需求,則需要用block編程實(shí)現(xiàn)以下幾個(gè)問(wèn)題:○1鼴鼠的點(diǎn)擊事件學(xué)生首先會(huì)想到的是Imgs_BeCatch(鼴鼠圖)的單擊事件,這樣想是情有可原的,但是我仔細(xì)再思考一下,Imgs_BeCatch的Click事件能夠表示被抓到,那么沒(méi)有抓到的情況呢?所以綜合考慮從之后,我們還是要從canvas下手,從canvas的touched事件下手,在單擊時(shí)是不是碰到了Imgs_BeCatch(鼴鼠圖),這
6、是一種不一樣的思維角度。圖3-2-6○2鼴鼠的移動(dòng)事件疑問(wèn):怎樣移動(dòng)?之前,關(guān)于改變?cè)赼pp中組件的位置,我們之前一直沒(méi)有嘗試過(guò),而作為動(dòng)畫(huà)主角的圖片精靈,小鼴鼠也應(yīng)該是變換著位置,這里會(huì)用到數(shù)學(xué)的隨機(jī)函數(shù)(在游戲類里,隨機(jī)數(shù)可以產(chǎn)生變化,增加趣味性)。所以通過(guò)隨機(jī)數(shù),讓鼴鼠改變位置,這是課例的一個(gè)基本解決方案提問(wèn):為了讓鼴鼠能夠完整的出現(xiàn)在屏幕里,隨機(jī)產(chǎn)生的位置需要什么樣的設(shè)置?數(shù)學(xué)的隨機(jī)函數(shù)random(n,m):在n~m之間產(chǎn)生一個(gè)隨機(jī)整數(shù)。隨機(jī)數(shù)最大寬度=畫(huà)布寬()-圖片精靈的寬。同理得到最大高度。35《AppInventor安
7、卓手機(jī)應(yīng)用開(kāi)發(fā)簡(jiǎn)易入門(mén)》選修課程第三章圖3-2-7對(duì)應(yīng)的代碼塊圖3-2-8:這樣打地鼠的基本的思路就有了,現(xiàn)在我們只要把它加入到計(jì)時(shí)器組件,讓它定時(shí)變換位置就可以了。圖組:3-2-9計(jì)時(shí)器組件事件(clock)○3血條與生命的制作使用自定義變量life和nowlife分別定義為最大生命值和當(dāng)前生命值,初始值為5。再拖入一個(gè)canvas組件放在canvas1的下方,高度設(shè)置為10,背景設(shè)置為紅色,利用其width的屬性改變大小。思考:生命值的計(jì)算公式怎樣才合適?36《AppInventor安卓手機(jī)應(yīng)用開(kāi)發(fā)簡(jiǎn)易入門(mén)》選修課程第三章畫(huà)布(ca
8、nvas)的寬=屏幕的寬×(當(dāng)前生命nowlife/最大值life)根據(jù)相應(yīng)的預(yù)設(shè),我們拼接得到了Canvas1的touched的完整事件模塊。○4Canvas1的touched當(dāng)我們重新開(kāi)始時(shí),需要滿血復(fù)