![Android開發(fā)與實踐第20章-猜猜雞蛋放在課件_第1頁](http://file4.renrendoc.com/view/4979653a59e3599cfc86a654a6621340/4979653a59e3599cfc86a654a66213401.gif)
![Android開發(fā)與實踐第20章-猜猜雞蛋放在課件_第2頁](http://file4.renrendoc.com/view/4979653a59e3599cfc86a654a6621340/4979653a59e3599cfc86a654a66213402.gif)
![Android開發(fā)與實踐第20章-猜猜雞蛋放在課件_第3頁](http://file4.renrendoc.com/view/4979653a59e3599cfc86a654a6621340/4979653a59e3599cfc86a654a66213403.gif)
![Android開發(fā)與實踐第20章-猜猜雞蛋放在課件_第4頁](http://file4.renrendoc.com/view/4979653a59e3599cfc86a654a6621340/4979653a59e3599cfc86a654a66213404.gif)
![Android開發(fā)與實踐第20章-猜猜雞蛋放在課件_第5頁](http://file4.renrendoc.com/view/4979653a59e3599cfc86a654a6621340/4979653a59e3599cfc86a654a66213405.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
本章要求:第20章猜猜雞蛋放在哪只鞋子里實現(xiàn)猜猜雞蛋放在哪只鞋子里小游戲的基本流程如何進行游戲界面布局ImageView組件的基本應(yīng)用如何實現(xiàn)隨機指定雞蛋所在鞋子如何設(shè)置ImageView組件的透明度本章要求:第20章猜猜雞蛋放在哪只鞋子里實現(xiàn)猜猜雞蛋放在1.課程設(shè)計目的2.功能描述3.總體設(shè)計4.實現(xiàn)過程5.運行調(diào)試6.課程設(shè)計總結(jié)第20章猜猜雞蛋放在哪只鞋子里1.課程設(shè)計目的第20章猜猜雞蛋放在哪只鞋子里本章的課程設(shè)計目的是向讀者介紹開發(fā)Android游戲的基本流程,以及頁面布局和Andriod基本組件Button和ImageView的具體應(yīng)用。20.1課程設(shè)計目的本章的課程設(shè)計目的是向讀者介紹開發(fā)Android游戲猜猜雞蛋放在哪只鞋子里是一個愉悅身心的小游戲,它的功能結(jié)構(gòu)如圖20-1所示。20.2功能描述圖20-1猜猜雞蛋放在哪只鞋子里小游戲的功能結(jié)構(gòu)圖猜猜雞蛋放在哪只鞋子里是一個愉悅身心的小游戲,它的功能結(jié)構(gòu)如20.3總體設(shè)計20.3.1構(gòu)建開發(fā)環(huán)境20.3.2準備資源20.3.3業(yè)務(wù)流程圖20.3總體設(shè)計20.3.1構(gòu)建開發(fā)環(huán)境在開發(fā)本實例時,首先需要下載AndroidSDK4.3(最好按照第1章介紹的方法下載ADTBundle)。另外,在創(chuàng)建模擬器時,最好按照圖20-2所示的參數(shù)進行配置。圖20-2配置模擬器參數(shù)20.3.1構(gòu)建開發(fā)環(huán)境在開發(fā)本實例時,首先需要下載AndroidSDK在實現(xiàn)本實例前,首先需要準備游戲中所需的圖片資源,這里共包括游戲背景圖片、圖標、默認顯示的鞋子、有雞蛋的鞋子和沒有雞蛋的鞋子5張圖片,如圖20-3所示,并把它們放置在項目根目錄下的res/drawable-mdpi/文件夾中,放置后的效果如圖20-4所示。圖20-3準備的5張圖片圖20-4放置后的圖片資源20.3.2準備資源在實現(xiàn)本實例前,首先需要準備游戲中所需的圖片資源,這將圖片資源放置到drawable-hdpi、drawable-ldpi和drawable-mdpi文件夾后,系統(tǒng)將自動在gen目錄下的com.mingrisoft包中的R.java文件中添加對應(yīng)的圖片id。打開R.java文件,可以看到下面的圖片id:publicstaticfinalintbackground=0x7f020000;publicstaticfinalintic_launcher=0x7f020001;publicstaticfinalintshoe_default=0x7f020002;publicstaticfinalintshoe_ok=0x7f020003;publicstaticfinalintshoe_sorry=0x7f020004;說明:R.java是系統(tǒng)自動派生的,最好不要進行修改。將圖片資源放置到drawable-hdpi、draw當玩家開始游戲時,屏幕上將顯示3只鞋子,單擊其中的任意一只鞋子,程序判斷該鞋子中是否有雞蛋,并且打開鞋子顯示結(jié)果,此時可以通過單擊“再玩一次”按鈕重新開始游戲。具體的系統(tǒng)流程如圖20-5所示。圖20-5猜猜雞蛋放在哪只鞋子里小游戲的系統(tǒng)流程圖20.3.3業(yè)務(wù)流程圖當玩家開始游戲時,屏幕上將顯示3只鞋子,單擊其中的任實現(xiàn)游戲規(guī)則的代碼全部編寫在主活動MainActivity中,具體的實現(xiàn)步驟如下:(1)在主活動MainActivity中,定義一個保存全部圖片ID的數(shù)組、3個ImageView類型的對象和一個TextView類型的對象,具體代碼如下:
int[]imageIds=newint[]{R.drawable.shoe_ok,R.drawable.shoe_sorry, R.drawable.shoe_sorry}; //定義一個保存全部圖片ID的數(shù)組 privateImageViewimage1; //ImageView組件1 privateImageViewimage2; //ImageView組件2 privateImageViewimage3; //ImageView組件3 privateTextViewresult; //顯示結(jié)果(2)編寫一個無返回值的方法reset(),用于隨機指定雞蛋所在的鞋子,關(guān)鍵代碼如下:
privatevoidreset(){ for(inti=0;i<3;i++){ inttemp=imageIds[i]; //將數(shù)組元素i保存到臨時變量中 intindex=(int)(Math.random()*2); //生成2以內(nèi)的一個隨機整數(shù) imageIds[i]=imageIds[index]; //將隨機數(shù)指定的數(shù)組元素的內(nèi)容賦值給數(shù)組元素i imageIds[index]=temp; //將臨時變量的值賦值給隨機數(shù)組指定的那個數(shù)組元素 } }20.4實現(xiàn)過程實現(xiàn)游戲規(guī)則的代碼全部編寫在主活動MainActivity中(3)由于ImageButton組件設(shè)置背景透明后,將不再顯示鼠標單擊效果,所以我們需要通過Drawable資源來設(shè)置圖片的android:src屬性。首先編寫一個Drawable資源對應(yīng)的XML文件button_state.xml,用于設(shè)置當鼠標按下時顯示的圖片,以及鼠標沒有按下時顯示的圖片,具體代碼如下: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組件添加單擊事件監(jiān)聽器,用于將鞋子打開,并顯示猜猜看的結(jié)果,關(guān)鍵代碼如下://為第一只鞋子添加單擊事件監(jiān)聽 image1.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,0); //判斷結(jié)果 //為第二只鞋子添加單擊事件監(jiān)聽 image2.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,1); //判斷結(jié)果 //為第三只鞋子添加單擊事件監(jiān)聽 image3.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,2); //判斷結(jié)果
(3)由于ImageButton組件設(shè)置背景透明后,將不再顯(5)編寫isRight()方法,用于顯示打開的鞋子,并顯示判斷結(jié)果,具體代碼如下:
/** *判斷猜出的結(jié)果 * *@paramv *@paramindex */ privatevoidisRight(Viewv,intindex){ //使用隨機數(shù)組中圖片資源ID設(shè)置每個ImageView image1.setImageDrawable(getResources().getDrawable(imageIds[0])); image2.setImageDrawable(getResources().getDrawable(imageIds[1])); image3.setImageDrawable(getResources().getDrawable(imageIds[2])); //為每個ImageView設(shè)置半透明效果 image1.setAlpha(100); image2.setAlpha(100); image3.setAlpha(100); ImageViewv1=(ImageView)v;//獲取被單擊的圖像視圖 v1.setAlpha(255); //設(shè)置圖像視圖的透明度 if(imageIds[index]==R.drawable.shoe_ok){ //判斷是否猜對 result.setText("恭喜您,猜對了,祝你幸福!"); }else{ result.setText("很抱歉,猜錯了,要不要再試一次?"); } }(5)編寫isRight()方法,用于顯示打開的鞋子,并顯示(6)獲取“再玩一次”按鈕,并為該按鈕添加單擊事件監(jiān)聽器,在其單擊事件中,首先將標題恢復(fù)為默認值、然后設(shè)置3個ImageView的透明度為完全不透明,最后再設(shè)置這3個ImageView的圖像內(nèi)容為默認顯示圖片,具體代碼如下:Buttonbutton=(Button)findViewById(R.id.button1); //獲取“再玩一次”按鈕//為“再玩一次”按鈕添加事件監(jiān)聽器button.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ reset(); result.setText(R.string.title); //將標題恢復(fù)為默認值 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)獲取“再玩一次”按鈕,并為該按鈕添加單擊事件監(jiān)聽器,在項目開發(fā)完成后,就可以在模擬器中運行該項目了。此時,如果您沒有創(chuàng)建模擬器,那么需要先創(chuàng)建并啟動模擬器,然后再按照以下步驟運行項目。(1)在“項目資源管理器”中選擇項目名稱節(jié)點,并在該節(jié)點上單擊鼠標右鍵,在彈出的快捷菜單中選擇“運行方式”/“AndroidApplication”菜單項,即可在創(chuàng)建的AVD模擬器中運行Android程序。(2)程序成功在模擬器中運行后,將顯示如圖20-6所示的游戲主界面。單擊其中的任意一只鞋子,將打開鞋子顯示里面是否有雞蛋,并且將沒有被單擊的鞋子設(shè)置為半透明顯示,被單擊的正常顯示,同時根據(jù)單擊的鞋子里面是否有雞蛋顯示對應(yīng)的結(jié)果。例如,單擊中間的那只鞋子,如果雞蛋在這只鞋子里,將顯示如圖20-7所示的運行結(jié)果,圖20-6游戲主界面圖20-7猜對了時的效果20.5運行調(diào)試項目開發(fā)完成后,就可以在模擬器中運行該項目了。此時,否則,將顯示如圖20-8所示的效果。單擊“再玩一次”按鈕,重新開始游戲。圖20-8猜錯了時的效果否則,將顯示如圖20-8所示的效果。單擊“再玩一次”按鈕,重本章通過一個猜猜雞蛋放在哪只鞋子里小游戲,向讀者介紹了Android開發(fā)小游戲的基本流程,以及頁面布局和Andriod基本組件Button和ImageView的具體應(yīng)用。通過本章的學(xué)習,讀者應(yīng)該掌握Android頁面布局以及基本組件Button和ImageView的具體應(yīng)用,以及實現(xiàn)隨機指定雞蛋所在鞋子的方法。20.6課程設(shè)計總結(jié)本章通過一個猜猜雞蛋放在哪只鞋子里小游戲,向讀者介紹本章要求:第20章猜猜雞蛋放在哪只鞋子里實現(xiàn)猜猜雞蛋放在哪只鞋子里小游戲的基本流程如何進行游戲界面布局ImageView組件的基本應(yīng)用如何實現(xiàn)隨機指定雞蛋所在鞋子如何設(shè)置ImageView組件的透明度本章要求:第20章猜猜雞蛋放在哪只鞋子里實現(xiàn)猜猜雞蛋放在1.課程設(shè)計目的2.功能描述3.總體設(shè)計4.實現(xiàn)過程5.運行調(diào)試6.課程設(shè)計總結(jié)第20章猜猜雞蛋放在哪只鞋子里1.課程設(shè)計目的第20章猜猜雞蛋放在哪只鞋子里本章的課程設(shè)計目的是向讀者介紹開發(fā)Android游戲的基本流程,以及頁面布局和Andriod基本組件Button和ImageView的具體應(yīng)用。20.1課程設(shè)計目的本章的課程設(shè)計目的是向讀者介紹開發(fā)Android游戲猜猜雞蛋放在哪只鞋子里是一個愉悅身心的小游戲,它的功能結(jié)構(gòu)如圖20-1所示。20.2功能描述圖20-1猜猜雞蛋放在哪只鞋子里小游戲的功能結(jié)構(gòu)圖猜猜雞蛋放在哪只鞋子里是一個愉悅身心的小游戲,它的功能結(jié)構(gòu)如20.3總體設(shè)計20.3.1構(gòu)建開發(fā)環(huán)境20.3.2準備資源20.3.3業(yè)務(wù)流程圖20.3總體設(shè)計20.3.1構(gòu)建開發(fā)環(huán)境在開發(fā)本實例時,首先需要下載AndroidSDK4.3(最好按照第1章介紹的方法下載ADTBundle)。另外,在創(chuàng)建模擬器時,最好按照圖20-2所示的參數(shù)進行配置。圖20-2配置模擬器參數(shù)20.3.1構(gòu)建開發(fā)環(huán)境在開發(fā)本實例時,首先需要下載AndroidSDK在實現(xiàn)本實例前,首先需要準備游戲中所需的圖片資源,這里共包括游戲背景圖片、圖標、默認顯示的鞋子、有雞蛋的鞋子和沒有雞蛋的鞋子5張圖片,如圖20-3所示,并把它們放置在項目根目錄下的res/drawable-mdpi/文件夾中,放置后的效果如圖20-4所示。圖20-3準備的5張圖片圖20-4放置后的圖片資源20.3.2準備資源在實現(xiàn)本實例前,首先需要準備游戲中所需的圖片資源,這將圖片資源放置到drawable-hdpi、drawable-ldpi和drawable-mdpi文件夾后,系統(tǒng)將自動在gen目錄下的com.mingrisoft包中的R.java文件中添加對應(yīng)的圖片id。打開R.java文件,可以看到下面的圖片id:publicstaticfinalintbackground=0x7f020000;publicstaticfinalintic_launcher=0x7f020001;publicstaticfinalintshoe_default=0x7f020002;publicstaticfinalintshoe_ok=0x7f020003;publicstaticfinalintshoe_sorry=0x7f020004;說明:R.java是系統(tǒng)自動派生的,最好不要進行修改。將圖片資源放置到drawable-hdpi、draw當玩家開始游戲時,屏幕上將顯示3只鞋子,單擊其中的任意一只鞋子,程序判斷該鞋子中是否有雞蛋,并且打開鞋子顯示結(jié)果,此時可以通過單擊“再玩一次”按鈕重新開始游戲。具體的系統(tǒng)流程如圖20-5所示。圖20-5猜猜雞蛋放在哪只鞋子里小游戲的系統(tǒng)流程圖20.3.3業(yè)務(wù)流程圖當玩家開始游戲時,屏幕上將顯示3只鞋子,單擊其中的任實現(xiàn)游戲規(guī)則的代碼全部編寫在主活動MainActivity中,具體的實現(xiàn)步驟如下:(1)在主活動MainActivity中,定義一個保存全部圖片ID的數(shù)組、3個ImageView類型的對象和一個TextView類型的對象,具體代碼如下:
int[]imageIds=newint[]{R.drawable.shoe_ok,R.drawable.shoe_sorry, R.drawable.shoe_sorry}; //定義一個保存全部圖片ID的數(shù)組 privateImageViewimage1; //ImageView組件1 privateImageViewimage2; //ImageView組件2 privateImageViewimage3; //ImageView組件3 privateTextViewresult; //顯示結(jié)果(2)編寫一個無返回值的方法reset(),用于隨機指定雞蛋所在的鞋子,關(guān)鍵代碼如下:
privatevoidreset(){ for(inti=0;i<3;i++){ inttemp=imageIds[i]; //將數(shù)組元素i保存到臨時變量中 intindex=(int)(Math.random()*2); //生成2以內(nèi)的一個隨機整數(shù) imageIds[i]=imageIds[index]; //將隨機數(shù)指定的數(shù)組元素的內(nèi)容賦值給數(shù)組元素i imageIds[index]=temp; //將臨時變量的值賦值給隨機數(shù)組指定的那個數(shù)組元素 } }20.4實現(xiàn)過程實現(xiàn)游戲規(guī)則的代碼全部編寫在主活動MainActivity中(3)由于ImageButton組件設(shè)置背景透明后,將不再顯示鼠標單擊效果,所以我們需要通過Drawable資源來設(shè)置圖片的android:src屬性。首先編寫一個Drawable資源對應(yīng)的XML文件button_state.xml,用于設(shè)置當鼠標按下時顯示的圖片,以及鼠標沒有按下時顯示的圖片,具體代碼如下: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組件添加單擊事件監(jiān)聽器,用于將鞋子打開,并顯示猜猜看的結(jié)果,關(guān)鍵代碼如下://為第一只鞋子添加單擊事件監(jiān)聽 image1.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,0); //判斷結(jié)果 //為第二只鞋子添加單擊事件監(jiān)聽 image2.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,1); //判斷結(jié)果 //為第三只鞋子添加單擊事件監(jiān)聽 image3.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,2); //判斷結(jié)果
(3)由于ImageButton組件設(shè)置背景透明后,將不再顯(5)編寫isRight()方法,用于顯示打開的鞋子,并顯示判斷結(jié)果,具體代碼如下:
/** *判斷猜出的結(jié)果 * *@paramv *@paramindex */ privatevoidisRight(Viewv,intindex){ //使用隨機數(shù)組中圖片資源ID設(shè)置每個ImageView image1.setImageDrawable(getResources().getDrawable(imageIds[0])); image2.setImageDrawable(getResources().getDrawable(imageIds[1])); image3.setImageDrawable(getResources().getDrawable(imageIds[2])); //為每個ImageView設(shè)置半透明效果 image1.setAlpha(100); image2.setAlpha(100); image3.setAlpha(100); ImageViewv1=(ImageView)v;//獲取被單擊的圖像視圖 v1.setAlpha(255); //設(shè)置圖像視圖的透明度 if(imageIds[index]==R.drawable.shoe_ok){ //判斷是否猜對 result.setText("恭喜您,猜對了,祝你幸福!"); }else{ result.setText("很抱歉,猜錯了,要不要再試一次?"); } }(5)編寫isRight()方法,用于顯示打開的鞋子,并顯示(6)獲取“再玩一次”按鈕,并為該按鈕添加單擊事件監(jiān)聽器,在其單擊事件中,首先將標題恢復(fù)為默認值、然后設(shè)置3個ImageView的透明度為完全不透明,最后再設(shè)置這3個ImageView的圖像內(nèi)容為默認顯示圖片,具體代碼如下:Buttonbutton=(Button)findViewById(R.id.button1); //獲取“再玩一次”按鈕//為“再玩一次”按鈕添加事件監(jiān)聽器button.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ reset(); result.setText(R.strin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度北京零售業(yè)店長勞動合同續(xù)簽與終止
- 海運合同不可抗力條款應(yīng)用
- 電子商務(wù)運營實務(wù)操作指南
- 合伙購車協(xié)議書
- 民營醫(yī)院勞動合同書
- 酒店運營管理入門指南
- 游戲開發(fā)與優(yōu)化指南
- 電子商務(wù)平臺用戶體驗優(yōu)化與營銷推廣方案
- 勞務(wù)分包合同個人
- 勞動合同安全管理制度
- 刑事案件模擬法庭劇本完整版五篇
- 2014教師事業(yè)單位工作人員年度考核登記表1
- 烏海周邊焦化企業(yè)概況
- 22S803 圓形鋼筋混凝土蓄水池
- Flash動畫設(shè)計與制作(FlashCS6中文版)中職PPT完整全套教學(xué)課件
- 2023年開心英語四年級上冊全冊練習
- Hadoop大數(shù)據(jù)開發(fā)實例教程高職PPT完整全套教學(xué)課件
- 新人教版小學(xué)數(shù)學(xué)五年級下冊教材分析課件
- 企業(yè)中層管理人員測評問題
- 人教版高中地理必修一全冊測試題(16份含答案)
- 水泥攪拌樁水灰比及漿液用量計算表(自動計算)
評論
0/150
提交評論