




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本章要求:第20章猜猜雞蛋放在哪只鞋子里實現猜猜雞蛋放在哪只鞋子里小游戲的基本流程如何進行游戲界面布局ImageView組件的基本應用如何實現隨機指定雞蛋所在鞋子如何設置ImageView組件的透明度本章要求:第20章猜猜雞蛋放在哪只鞋子里實現猜猜雞蛋放在1.課程設計目的2.功能描述3.總體設計4.實現過程5.運行調試6.課程設計總結第20章猜猜雞蛋放在哪只鞋子里1.課程設計目的第20章猜猜雞蛋放在哪只鞋子里本章的課程設計目的是向讀者介紹開發Android游戲的基本流程,以及頁面布局和Andriod基本組件Button和ImageView的具體應用。20.1課程設計目的本章的課程設計目的是向讀者介紹開發Android游戲猜猜雞蛋放在哪只鞋子里是一個愉悅身心的小游戲,它的功能結構如圖20-1所示。20.2功能描述圖20-1猜猜雞蛋放在哪只鞋子里小游戲的功能結構圖猜猜雞蛋放在哪只鞋子里是一個愉悅身心的小游戲,它的功能結構如20.3總體設計20.3.1構建開發環境20.3.2準備資源20.3.3業務流程圖20.3總體設計20.3.1構建開發環境在開發本實例時,首先需要下載AndroidSDK4.3(最好按照第1章介紹的方法下載ADTBundle)。另外,在創建模擬器時,最好按照圖20-2所示的參數進行配置。圖20-2配置模擬器參數20.3.1構建開發環境在開發本實例時,首先需要下載AndroidSDK在實現本實例前,首先需要準備游戲中所需的圖片資源,這里共包括游戲背景圖片、圖標、默認顯示的鞋子、有雞蛋的鞋子和沒有雞蛋的鞋子5張圖片,如圖20-3所示,并把它們放置在項目根目錄下的res/drawable-mdpi/文件夾中,放置后的效果如圖20-4所示。圖20-3準備的5張圖片圖20-4放置后的圖片資源20.3.2準備資源在實現本實例前,首先需要準備游戲中所需的圖片資源,這將圖片資源放置到drawable-hdpi、drawable-ldpi和drawable-mdpi文件夾后,系統將自動在gen目錄下的com.mingrisoft包中的R.java文件中添加對應的圖片id。打開R.java文件,可以看到下面的圖片id:publicstaticfinalintbackground=0x7f020000;publicstaticfinalintic_launcher=0x7f020001;publicstaticfinalintshoe_default=0x7f020002;publicstaticfinalintshoe_ok=0x7f020003;publicstaticfinalintshoe_sorry=0x7f020004;說明:R.java是系統自動派生的,最好不要進行修改。將圖片資源放置到drawable-hdpi、draw當玩家開始游戲時,屏幕上將顯示3只鞋子,單擊其中的任意一只鞋子,程序判斷該鞋子中是否有雞蛋,并且打開鞋子顯示結果,此時可以通過單擊“再玩一次”按鈕重新開始游戲。具體的系統流程如圖20-5所示。圖20-5猜猜雞蛋放在哪只鞋子里小游戲的系統流程圖20.3.3業務流程圖當玩家開始游戲時,屏幕上將顯示3只鞋子,單擊其中的任實現游戲規則的代碼全部編寫在主活動MainActivity中,具體的實現步驟如下:(1)在主活動MainActivity中,定義一個保存全部圖片ID的數組、3個ImageView類型的對象和一個TextView類型的對象,具體代碼如下:
int[]imageIds=newint[]{R.drawable.shoe_ok,R.drawable.shoe_sorry, R.drawable.shoe_sorry}; //定義一個保存全部圖片ID的數組 privateImageViewimage1; //ImageView組件1 privateImageViewimage2; //ImageView組件2 privateImageViewimage3; //ImageView組件3 privateTextViewresult; //顯示結果(2)編寫一個無返回值的方法reset(),用于隨機指定雞蛋所在的鞋子,關鍵代碼如下:
privatevoidreset(){ for(inti=0;i<3;i++){ inttemp=imageIds[i]; //將數組元素i保存到臨時變量中 intindex=(int)(Math.random()*2); //生成2以內的一個隨機整數 imageIds[i]=imageIds[index]; //將隨機數指定的數組元素的內容賦值給數組元素i imageIds[index]=temp; //將臨時變量的值賦值給隨機數組指定的那個數組元素 } }20.4實現過程實現游戲規則的代碼全部編寫在主活動MainActivity中(3)由于ImageButton組件設置背景透明后,將不再顯示鼠標單擊效果,所以我們需要通過Drawable資源來設置圖片的android:src屬性。首先編寫一個Drawable資源對應的XML文件button_state.xml,用于設置當鼠標按下時顯示的圖片,以及鼠標沒有按下時顯示的圖片,具體代碼如下:image1=(ImageView)findViewById(R.id.imageView1); //獲取ImageView1組件image2=(ImageView)findViewById(R.id.imageView2); //獲取ImageView2組件image3=(ImageView)findViewById(R.id.imageView3); //獲取ImageView3組件result=(TextView)findViewById(R.id.textView1); //獲取TextView組件reset(); //將鞋子的順序打亂(4)為3個顯示鞋子的ImageView組件添加單擊事件監聽器,用于將鞋子打開,并顯示猜猜看的結果,關鍵代碼如下://為第一只鞋子添加單擊事件監聽 image1.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,0); //判斷結果 //為第二只鞋子添加單擊事件監聽 image2.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,1); //判斷結果 //為第三只鞋子添加單擊事件監聽 image3.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,2); //判斷結果
(3)由于ImageButton組件設置背景透明后,將不再顯(5)編寫isRight()方法,用于顯示打開的鞋子,并顯示判斷結果,具體代碼如下:
/** *判斷猜出的結果 * *@paramv *@paramindex */ privatevoidisRight(Viewv,intindex){ //使用隨機數組中圖片資源ID設置每個ImageView image1.setImageDrawable(getResources().getDrawable(imageIds[0])); image2.setImageDrawable(getResources().getDrawable(imageIds[1])); image3.setImageDrawable(getResources().getDrawable(imageIds[2])); //為每個ImageView設置半透明效果 image1.setAlpha(100); image2.setAlpha(100); image3.setAlpha(100); ImageViewv1=(ImageView)v;//獲取被單擊的圖像視圖 v1.setAlpha(255); //設置圖像視圖的透明度 if(imageIds[index]==R.drawable.shoe_ok){ //判斷是否猜對 result.setText("恭喜您,猜對了,祝你幸福!"); }else{ result.setText("很抱歉,猜錯了,要不要再試一次?"); } }(5)編寫isRight()方法,用于顯示打開的鞋子,并顯示(6)獲取“再玩一次”按鈕,并為該按鈕添加單擊事件監聽器,在其單擊事件中,首先將標題恢復為默認值、然后設置3個ImageView的透明度為完全不透明,最后再設置這3個ImageView的圖像內容為默認顯示圖片,具體代碼如下:Buttonbutton=(Button)findViewById(R.id.button1); //獲取“再玩一次”按鈕//為“再玩一次”按鈕添加事件監聽器button.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ reset(); result.setText(R.string.title); //將標題恢復為默認值 image1.setAlpha(255); image2.setAlpha(255); image3.setAlpha(255); image1.setImageDrawable(getResources().getDrawable( R.drawable.shoe_default)); image2.setImageDrawable(getResources().getDrawable(R.drawable.shoe_default)); image3.setImageDrawable(getResources().getDrawable(R.drawable.shoe_default)); }});(6)獲取“再玩一次”按鈕,并為該按鈕添加單擊事件監聽器,在項目開發完成后,就可以在模擬器中運行該項目了。此時,如果您沒有創建模擬器,那么需要先創建并啟動模擬器,然后再按照以下步驟運行項目。(1)在“項目資源管理器”中選擇項目名稱節點,并在該節點上單擊鼠標右鍵,在彈出的快捷菜單中選擇“運行方式”/“AndroidApplication”菜單項,即可在創建的AVD模擬器中運行Android程序。(2)程序成功在模擬器中運行后,將顯示如圖20-6所示的游戲主界面。單擊其中的任意一只鞋子,將打開鞋子顯示里面是否有雞蛋,并且將沒有被單擊的鞋子設置為半透明顯示,被單擊的正常顯示,同時根據單擊的鞋子里面是否有雞蛋顯示對應的結果。例如,單擊中間的那只鞋子,如果雞蛋在這只鞋子里,將顯示如圖20-7所示的運行結果,圖20-6游戲主界面圖20-7猜對了時的效果20.5運行調試項目開發完成后,就可以在模擬器中運行該項目了。此時,否則,將顯示如圖20-8所示的效果。單擊“再玩一次”按鈕,重新開始游戲。圖20-8猜錯了時的效果否則,將顯示如圖20-8所示的效果。單擊“再玩一次”按鈕,重本章通過一個猜猜雞蛋放在哪只鞋子里小游戲,向讀者介紹了Android開發小游戲的基本流程,以及頁面布局和Andriod基本組件Button和ImageView的具體應用。通過本章的學習,讀者應該掌握Android頁面布局以及基本組件Button和ImageView的具體應用,以及實現隨機指定雞蛋所在鞋子的方法。20.6課程設計總結本章通過一個猜猜雞蛋放在哪只鞋子里小游戲,向讀者介紹本章要求:第20章猜猜雞蛋放在哪只鞋子里實現猜猜雞蛋放在哪只鞋子里小游戲的基本流程如何進行游戲界面布局ImageView組件的基本應用如何實現隨機指定雞蛋所在鞋子如何設置ImageView組件的透明度本章要求:第20章猜猜雞蛋放在哪只鞋子里實現猜猜雞蛋放在1.課程設計目的2.功能描述3.總體設計4.實現過程5.運行調試6.課程設計總結第20章猜猜雞蛋放在哪只鞋子里1.課程設計目的第20章猜猜雞蛋放在哪只鞋子里本章的課程設計目的是向讀者介紹開發Android游戲的基本流程,以及頁面布局和Andriod基本組件Button和ImageView的具體應用。20.1課程設計目的本章的課程設計目的是向讀者介紹開發Android游戲猜猜雞蛋放在哪只鞋子里是一個愉悅身心的小游戲,它的功能結構如圖20-1所示。20.2功能描述圖20-1猜猜雞蛋放在哪只鞋子里小游戲的功能結構圖猜猜雞蛋放在哪只鞋子里是一個愉悅身心的小游戲,它的功能結構如20.3總體設計20.3.1構建開發環境20.3.2準備資源20.3.3業務流程圖20.3總體設計20.3.1構建開發環境在開發本實例時,首先需要下載AndroidSDK4.3(最好按照第1章介紹的方法下載ADTBundle)。另外,在創建模擬器時,最好按照圖20-2所示的參數進行配置。圖20-2配置模擬器參數20.3.1構建開發環境在開發本實例時,首先需要下載AndroidSDK在實現本實例前,首先需要準備游戲中所需的圖片資源,這里共包括游戲背景圖片、圖標、默認顯示的鞋子、有雞蛋的鞋子和沒有雞蛋的鞋子5張圖片,如圖20-3所示,并把它們放置在項目根目錄下的res/drawable-mdpi/文件夾中,放置后的效果如圖20-4所示。圖20-3準備的5張圖片圖20-4放置后的圖片資源20.3.2準備資源在實現本實例前,首先需要準備游戲中所需的圖片資源,這將圖片資源放置到drawable-hdpi、drawable-ldpi和drawable-mdpi文件夾后,系統將自動在gen目錄下的com.mingrisoft包中的R.java文件中添加對應的圖片id。打開R.java文件,可以看到下面的圖片id:publicstaticfinalintbackground=0x7f020000;publicstaticfinalintic_launcher=0x7f020001;publicstaticfinalintshoe_default=0x7f020002;publicstaticfinalintshoe_ok=0x7f020003;publicstaticfinalintshoe_sorry=0x7f020004;說明:R.java是系統自動派生的,最好不要進行修改。將圖片資源放置到drawable-hdpi、draw當玩家開始游戲時,屏幕上將顯示3只鞋子,單擊其中的任意一只鞋子,程序判斷該鞋子中是否有雞蛋,并且打開鞋子顯示結果,此時可以通過單擊“再玩一次”按鈕重新開始游戲。具體的系統流程如圖20-5所示。圖20-5猜猜雞蛋放在哪只鞋子里小游戲的系統流程圖20.3.3業務流程圖當玩家開始游戲時,屏幕上將顯示3只鞋子,單擊其中的任實現游戲規則的代碼全部編寫在主活動MainActivity中,具體的實現步驟如下:(1)在主活動MainActivity中,定義一個保存全部圖片ID的數組、3個ImageView類型的對象和一個TextView類型的對象,具體代碼如下:
int[]imageIds=newint[]{R.drawable.shoe_ok,R.drawable.shoe_sorry, R.drawable.shoe_sorry}; //定義一個保存全部圖片ID的數組 privateImageViewimage1; //ImageView組件1 privateImageViewimage2; //ImageView組件2 privateImageViewimage3; //ImageView組件3 privateTextViewresult; //顯示結果(2)編寫一個無返回值的方法reset(),用于隨機指定雞蛋所在的鞋子,關鍵代碼如下:
privatevoidreset(){ for(inti=0;i<3;i++){ inttemp=imageIds[i]; //將數組元素i保存到臨時變量中 intindex=(int)(Math.random()*2); //生成2以內的一個隨機整數 imageIds[i]=imageIds[index]; //將隨機數指定的數組元素的內容賦值給數組元素i imageIds[index]=temp; //將臨時變量的值賦值給隨機數組指定的那個數組元素 } }20.4實現過程實現游戲規則的代碼全部編寫在主活動MainActivity中(3)由于ImageButton組件設置背景透明后,將不再顯示鼠標單擊效果,所以我們需要通過Drawable資源來設置圖片的android:src屬性。首先編寫一個Drawable資源對應的XML文件button_state.xml,用于設置當鼠標按下時顯示的圖片,以及鼠標沒有按下時顯示的圖片,具體代碼如下:image1=(ImageView)findViewById(R.id.imageView1); //獲取ImageView1組件image2=(ImageView)findViewById(R.id.imageView2); //獲取ImageView2組件image3=(ImageView)findViewById(R.id.imageView3); //獲取ImageView3組件result=(TextView)findViewById(R.id.textView1); //獲取TextView組件reset(); //將鞋子的順序打亂(4)為3個顯示鞋子的ImageView組件添加單擊事件監聽器,用于將鞋子打開,并顯示猜猜看的結果,關鍵代碼如下://為第一只鞋子添加單擊事件監聽 image1.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,0); //判斷結果 //為第二只鞋子添加單擊事件監聽 image2.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,1); //判斷結果 //為第三只鞋子添加單擊事件監聽 image3.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,2); //判斷結果
(3)由于ImageButton組件設置背景透明后,將不再顯(5)編寫isRight()方法,用于顯示打開的鞋子,并顯示判斷結果,具體代碼如下:
/** *判斷猜出的結果 * *@paramv *@paramindex */ privatevoidisRight(Viewv,intindex){ //使用隨機數組中圖片資源ID設置每個ImageView image1.setImageDrawable(getResources().getDrawable(imageIds[0])); image2.setImageDrawable(getResources().getDrawable(imageIds[1])); image3.setImageDrawable(getResources().getDrawable(imageIds[2])); //為每個ImageView設置半透明效果 image1.setAlpha(100); image2.setAlpha(100); image3.setAlpha(100); ImageViewv1=(ImageView)v;//獲取被單擊的圖像視圖 v1.setAlpha(255); //設置圖像視圖的透明度 if(imageIds[index]==R.drawable.shoe_ok){ //判斷是否猜對 result.setText("恭喜您,猜對了,祝你幸福!"); }else{ result.setText("很抱歉,猜錯了,要不要再試一次?"); } }(5)編寫isRight()方法,用于顯示打開的鞋子,并顯示(6)獲取“再玩一次”按鈕,并為該按鈕添加單擊事件監聽器,在其單擊事件中,首先將標題恢復為默認值、然后設置3個ImageView的透明度為完全不透明,最后再設置這3個ImageView的圖像內容為默認顯示圖片,具體代碼如下:Buttonbutton=(Button)findViewById(R.id.button1); //獲取“再玩一次”按鈕//為“再玩一次”按鈕添加事件監聽器button.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ reset(); result.setText(R.strin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業廢棄物處理的物聯網解決方案
- 工業旅游的規劃與實施
- 工業機器人系統的集成與優化
- 工業機器人技術進展及影響
- 工業生態化改造與實踐案例分析
- 工業能源管理與自動化控制技術
- 工業設備智能化升級解決方案
- 工業自動化中的語音控制技術應用
- 工業設計中的師徒智慧-產品設計專業成長
- 工作與生活平衡與員工福利設計
- TSG-T7001-2023電梯監督檢驗和定期檢驗規則宣貫解讀
- 工業機器人系統操作員國家職業技能考核標準(2023年版)
- 萬科物業管理公司員工手冊
- 機器學習在教育領域的應用研究
- 一例ANCA相關性血管炎患者的護理查房
- 2024年全國初中數學聯合競賽試題參考答案及評分標準
- 海洋波浪發電課件
- 八年級數學下冊 期末考試卷(湘教版)
- 2024年甘肅金川集團股份有限公司招聘筆試參考題庫含答案解析
- 注冊安全工程師繼續教育題庫
- 工程項目監理人工智能與機器人技術應用
評論
0/150
提交評論