Android開發(fā)與實踐第20章-猜猜雞蛋放在課件_第1頁
Android開發(fā)與實踐第20章-猜猜雞蛋放在課件_第2頁
Android開發(fā)與實踐第20章-猜猜雞蛋放在課件_第3頁
Android開發(fā)與實踐第20章-猜猜雞蛋放在課件_第4頁
Android開發(fā)與實踐第20章-猜猜雞蛋放在課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本章要求:第20章猜猜雞蛋放在哪只鞋子里實現(xiàn)猜猜雞蛋放在哪只鞋子里小游戲的基本流程如何進(jì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準(zhǔn)備資源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ù)進(jìn)行配置。圖20-2配置模擬器參數(shù)20.3.1構(gòu)建開發(fā)環(huán)境在開發(fā)本實例時,首先需要下載AndroidSDK在實現(xiàn)本實例前,首先需要準(zhǔn)備游戲中所需的圖片資源,這里共包括游戲背景圖片、圖標(biāo)、默認(rèn)顯示的鞋子、有雞蛋的鞋子和沒有雞蛋的鞋子5張圖片,如圖20-3所示,并把它們放置在項目根目錄下的res/drawable-mdpi/文件夾中,放置后的效果如圖20-4所示。圖20-3準(zhǔn)備的5張圖片圖20-4放置后的圖片資源20.3.2準(zhǔn)備資源在實現(xiàn)本實例前,首先需要準(zhǔ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)自動派生的,最好不要進(jìn)行修改。將圖片資源放置到drawable-hdpi、draw當(dāng)玩家開始游戲時,屏幕上將顯示3只鞋子,單擊其中的任意一只鞋子,程序判斷該鞋子中是否有雞蛋,并且打開鞋子顯示結(jié)果,此時可以通過單擊“再玩一次”按鈕重新開始游戲。具體的系統(tǒng)流程如圖20-5所示。圖20-5猜猜雞蛋放在哪只鞋子里小游戲的系統(tǒng)流程圖20.3.3業(yè)務(wù)流程圖當(dāng)玩家開始游戲時,屏幕上將顯示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è)置背景透明后,將不再顯示鼠標(biāo)單擊效果,所以我們需要通過Drawable資源來設(shè)置圖片的android:src屬性。首先編寫一個Drawable資源對應(yīng)的XML文件button_state.xml,用于設(shè)置當(dāng)鼠標(biāo)按下時顯示的圖片,以及鼠標(biāo)沒有按下時顯示的圖片,具體代碼如下: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)聽器,在其單擊事件中,首先將標(biāo)題恢復(fù)為默認(rèn)值、然后設(shè)置3個ImageView的透明度為完全不透明,最后再設(shè)置這3個ImageView的圖像內(nèi)容為默認(rèn)顯示圖片,具體代碼如下:Buttonbutton=(Button)findViewById(R.id.button1); //獲取“再玩一次”按鈕//為“再玩一次”按鈕添加事件監(jiān)聽器button.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ reset(); result.setText(R.string.title); //將標(biāo)題恢復(fù)為默認(rèn)值 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é)點上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“運行方式”/“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é)習(xí),讀者應(yīng)該掌握Android頁面布局以及基本組件Button和ImageView的具體應(yīng)用,以及實現(xiàn)隨機指定雞蛋所在鞋子的方法。20.6課程設(shè)計總結(jié)本章通過一個猜猜雞蛋放在哪只鞋子里小游戲,向讀者介紹本章要求:第20章猜猜雞蛋放在哪只鞋子里實現(xiàn)猜猜雞蛋放在哪只鞋子里小游戲的基本流程如何進(jì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準(zhǔn)備資源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ù)進(jìn)行配置。圖20-2配置模擬器參數(shù)20.3.1構(gòu)建開發(fā)環(huán)境在開發(fā)本實例時,首先需要下載AndroidSDK在實現(xiàn)本實例前,首先需要準(zhǔn)備游戲中所需的圖片資源,這里共包括游戲背景圖片、圖標(biāo)、默認(rèn)顯示的鞋子、有雞蛋的鞋子和沒有雞蛋的鞋子5張圖片,如圖20-3所示,并把它們放置在項目根目錄下的res/drawable-mdpi/文件夾中,放置后的效果如圖20-4所示。圖20-3準(zhǔn)備的5張圖片圖20-4放置后的圖片資源20.3.2準(zhǔn)備資源在實現(xiàn)本實例前,首先需要準(zhǔ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)自動派生的,最好不要進(jìn)行修改。將圖片資源放置到drawable-hdpi、draw當(dāng)玩家開始游戲時,屏幕上將顯示3只鞋子,單擊其中的任意一只鞋子,程序判斷該鞋子中是否有雞蛋,并且打開鞋子顯示結(jié)果,此時可以通過單擊“再玩一次”按鈕重新開始游戲。具體的系統(tǒng)流程如圖20-5所示。圖20-5猜猜雞蛋放在哪只鞋子里小游戲的系統(tǒng)流程圖20.3.3業(yè)務(wù)流程圖當(dāng)玩家開始游戲時,屏幕上將顯示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è)置背景透明后,將不再顯示鼠標(biāo)單擊效果,所以我們需要通過Drawable資源來設(shè)置圖片的android:src屬性。首先編寫一個Drawable資源對應(yīng)的XML文件button_state.xml,用于設(shè)置當(dāng)鼠標(biāo)按下時顯示的圖片,以及鼠標(biāo)沒有按下時顯示的圖片,具體代碼如下: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)聽器,在其單擊事件中,首先將標(biāo)題恢復(fù)為默認(rèn)值、然后設(shè)置3個ImageView的透明度為完全不透明,最后再設(shè)置這3個ImageView的圖像內(nèi)容為默認(rèn)顯示圖片,具體代碼如下: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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論