freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于安卓平臺的飛機大戰(zhàn)游戲畢業(yè)設計(編輯修改稿)

2025-07-22 13:59 本頁面
 

【文章內(nèi)容簡介】 unnable接口相比繼承Thread類有如下好處:避免點繼承的局限,一個類可以繼承多個接口。適合于資源的共享以賣票程序為例,通過Thread類完成:package 。 class MyThread extends Thread{ private int ticket=10。 public void run(){ for(int i=0。i20。i++){ if(0){ (賣票:ticket+)。 } } } }。 下面通過三個線程對象,同時賣票:package 。 public class ThreadTicket { public static void main(String[] args) { MyThread mt1=new MyThread()。 MyThread mt2=new MyThread()。 MyThread mt3=new MyThread()。 ()。//每個線程都各賣了10張,共賣了30張票 ()。//但實際只有10張票,每個線程都賣自己的票 ()。//沒有達到資源共享 } } 如果用Runnable就可以實現(xiàn)資源共享,下面看例子:package 。 class MyThread implements Runnable{ private int ticket=10。 public void run(){ for(int i=0。i20。i++){ if(0){ (賣票:ticket+)。 } } } } package 。 public class RunnableTicket { public static void main(String[] args) { MyThread mt=new MyThread()。 new Thread(mt).start()。//同一個mt,但是在Thread中就不可以,如果用同一 new Thread(mt).start()。//個實例化對象mt,就會出現(xiàn)異常 new Thread(mt).start()。 } }。 雖然現(xiàn)在程序中有三個線程,但是一共賣了10張票,也就是說使用Runnable實現(xiàn)多線程可以達到資源共享目的。Runnable接口和Thread之間的聯(lián)系:public class Thread extends Object implements Runnable發(fā)現(xiàn)Thread類也是Runnable接口的子類。 本章小結本章詳細的劃分了整個項目的開發(fā)模塊,及各個模塊的詳細設計,最后對整個項目的包結構和項目資源路徑做了簡單的剖析和介紹。第4章 系統(tǒng)功能的實現(xiàn)第4章 系統(tǒng)功能的實現(xiàn)界面是呈現(xiàn)給用戶的,一個界面呈現(xiàn)的友好性會決定用戶是否會接受該系統(tǒng),對于Android系統(tǒng)而言,界面的友好布局,信息的簡單明了都至關重要。 主界面的功能實現(xiàn)主界面的設計如下圖41所示:圖41 系統(tǒng)主界面在工程的res\layout目錄下,創(chuàng)建了一個名稱為””的布局文件,該文件主要為生成主界面做配置,其布局文件代碼如下:1. LinearLayout xmlns:android=2. xmlns:tools=3. android:layout_width=match_parent4. android:layout_height=match_parent5. android:background=@drawable/ba1西安工程大學學士學位論文6. android:gravity=center_horizontal7. android:orientation=vertical8. android:paddingBottom=@dimen/activity_vertical_margin9. android:paddingLeft=@dimen/activity_horizontal_margin10. android:paddingRight=@dimen/activity_horizontal_margin11. android:paddingTop=@dimen/activity_vertical_margin12. tools:context=.MainActivity 13. ImageButton14. android:id=@+id/start15. android:layout_width=156dip16. android:layout_height=50dip17. android:layout_marginTop=130dip18. android:src=@drawable/startgame19. android:background=@android:color/transparent/20. ImageButton21. android:id=@+id/exit22. android:layout_width=155dip23. android:layout_height=50dip24. android:layout_marginTop=10dip25. android:src=@drawable/exitgame26. android:background=@android:color/transparent /27. ImageButton28. android:id=@+id/close29. android:layout_width=155dip30. android:layout_height=50dip31. android:layout_marginTop=10dip32. android:src=@drawable/soundbut33. android:background=@android:color/transparent /34. ImageButton35. android:id=@+id/about36. android:layout_width=155dip37. android:layout_height=50dip38. android:layout_marginTop=10dip39. android:src=@drawable/aboutour40. android:background=@android:color/transparent /41. /LinearLayout 主界面布局文件主界面中有四個按鈕分別為開始游戲,退出游戲,關閉音效,關于我們,其中每個按鈕都綁定了一個監(jiān)視器,當按下該按鈕時,該監(jiān)視器將觸發(fā)點擊事件,其中為開始按鈕綁定的監(jiān)視器如下:1. public class listener implements {2. @Override3. public void onClick(View v) {4. intent=new Intent(this,)。5. startActivity(intent)。 6. }7. }Intent對象介紹:Intent(意圖)主要是解決Android應用的各項組件之間的通訊。Intent負責對應用中一次操作的動作、動作涉及數(shù)據(jù)、附加數(shù)據(jù)進行描述,Android則根據(jù)此Intent的描述,負責找到對應的組件,將 Intent傳遞給調(diào)用的組件,并完成組件的調(diào)用。因此,Intent在這里起著一個媒體中介的作用,專門提供組件互相調(diào)用的相關信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。例如,在一個聯(lián)系人維護的應用中,當我們在一個聯(lián)系人列表屏幕(假設對應的Activity為listActivity)上,點擊某個聯(lián)系人后,希望能夠跳出此聯(lián)系人的詳細信息屏幕(假設對應的Activity為detailActivity)為了實現(xiàn)這個目的,listActivity需要構造一個 Intent,這個Intent用于告訴系統(tǒng),我們要做“查看”動作,此動作對應的查看對象是“某聯(lián)系人”,然后調(diào)用startActivity (Intent intent),將構造的Intent傳入,系統(tǒng)會根據(jù)此Intent中的描述,到ManiFest中找到滿足此Intent要求的Activity,系統(tǒng)會調(diào)用找到的 Activity,即為detailActivity,最終傳入Intent,detailActivity則會根據(jù)此Intent中的描述,執(zhí)行相應的操作。其中startActivity(intent)將啟動一個新的意圖對象,代表一個新的Activity。在這里將啟動游戲主Activity。關閉音效的監(jiān)視器如下:1. public class close implements {2. @Override3. public void onClick(View v) {4. if(()){5. (false)。6. (getApplicationContext(), 音效已近關閉, ).show()。7. }else{8. (true)。9. (getApplicationContext(), 音效已近打開, ).show()。10. }11. }12. }在這里,我們通過配置文件的參數(shù)改變是否需要播放背景音樂,當有音樂時,點擊時將會關閉音效,當沒音效時,點擊一下將會開啟音效。其效果展示如下圖圖42和圖43所示: 圖42 關閉音效界面 圖43 打開音效界面Toast 是一個 View 視圖,快速的為用戶顯示少量的信息。 Toast 在應用程序上浮動顯示信息給用戶,它永遠不會獲得焦點,不影響用戶的輸入等操作,主要用于 一些幫助 / 提示。Toast是Android中用來顯示顯示信息的一種機制,和Dialog不一樣的是,Toast是沒有焦點的,而且Toast顯示的時間有限,過一定的時間就會自動消失。退出游戲按鈕的監(jiān)視器:1. public class listener1 implements {2. @Override3. public void onClick(View v) {4. try{5. ()。6. } catch (Throwable e) {7. // TODO 自動生成的 catch 塊8. ()。9. }10. } 11. }其中finish()方法將關閉當前正在運行的Activity。圖44 關于我們的界面關于我們按鈕主要介紹了本軟件的性質(zhì)和軟件編碼者和其指導老師的簡介,并標明了軟件的版本號和開發(fā)的時間信息如圖44所示,瀏覽全部的信息之后,用戶可以點擊返回主界面返回,或者使用手機自帶的返回鍵返回到主界面。關于我們按鈕的監(jiān)視器:1. public class about implements {2. @Override3. public void onClick(View v) {4. startActivity(aboutIntent)。5. }6. }在該點擊事件里將啟動管我們介紹的activity。 游戲界面的功能實現(xiàn)實現(xiàn)的效果如下圖圖45所示:圖45 游戲運行界面主界面的實現(xiàn)是通過SurfaceView實現(xiàn)的,SurfaceView繼承自View,但它與View不同?View是在UI的主線程中更新畫面,而SurfaceView是在一個新線程中更新畫面。我們不可能寫一個方法讓主線程自己運動。View的特性決定了其不適合做動畫,因為如果更新畫面時間過長,那么主UI線程就會被正在畫的函數(shù)阻塞。所以Android中通常用SurfaceView顯示動畫效果。在對SurfaceView進行操作前Android為我們提供了一個十分好用的接口:。該接口中有三個抽象方法,這三個抽象方法是SurfaceView的三個生命周期: abstract void surfaceChanged(SurfaceHolder holder, int format, int w, int h) 這個方法被回調(diào),當SurfaceView界面發(fā)生改變時。abstract void surfaceCreated(SurfaceHolder holder) 這個方法被回調(diào),當SurfaceView界面被創(chuàng)建時。abstract void surfaceDestroyed(SurfaceHolder holder) 這個方法被回調(diào),當SurfaceView界面被銷毀時。控制SurfaceView的SurfaceHolder介紹上一節(jié)的Surface概述中我曾經(jīng)說過每一個Surface都有一個Canvas,
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1