【Android遊戲開發之七】(遊戲開發中須要的樣式)再次剖析遊戲開發中對SurfaceView中添加組件方案!

 李華明Himi 原創,轉載務必在明顯處註明:
轉載自 【黑米GameDev街區】 原文連接:  http://www.himigame.com/android-game/308.html

 

不少童鞋說個人代碼運行後,點擊home或者back後會程序異常,若是你也這樣遇到過,那麼你確定沒有仔細讀完Himi的博文,第十九篇Himi專門寫了關於這些錯誤的緣由和解決方法,這裏我在博客都補充說明下,省的童鞋們總疑惑這一塊;請點擊下面聯繫進入閱讀:css

【Android遊戲開發十九】(必看篇)SurfaceView運行機制詳解—剖析Back與Home按鍵及切入後臺等異常處理!html


       各位童鞋請大家注意:surfaceview中確實有 onDraw這個方法,可是surfaceview不會本身去調用!!!android

  而我代碼中的ondraw 也好 draw 也好,都是我本身定義的一個方法。。。放在線程中不斷調用的,必定要注意!!佈局

 

   上一篇咱們已經能夠在同一界面中既顯示咱們的surfaceview和button、textview等組件,那麼基本算是成功了,可是身爲遊戲開發人員,若是不是想故意要這種相似電影形式的展示方式(咱們的surfaceview在中間 - -.很想播放電影似的。。),是絕對不容許遊戲的份量只是佔了中間那麼一部分,確定須要全屏顯示,別的組件只是一個配角的角色。那麼下面先上一張截圖看下爲何修改與調整。字體

 

                                                                                  (圖1)spa

                           

 

 

看到咱們畫出來的字體了吧,很悲劇被覆蓋了!只要有button就會有一塊長條,即便咱們修改button中佈局的顏色也只是把長條的顏色變成白色,固然好看是好看了,可是仍舊遮擋咱們的字體!這可不是咱們想要的結果。咱們想要的效果應該是下圖這樣的:.net

 

                                                                                  (圖2)線程

                                 

 

娃哈哈,這效果就對啦,咱們的view佔滿全屏,而組件自己纔會對咱們的view中的內容有遮擋,不會多出一些無用的長條遮擋....3d

 

當時雖然想的方法就是佈局xml的問題,我一開始想在咱們xml中定義的surfaceview中直接添加按鈕,可是view不能添加view!因此沒辦法,就想到是不是佈局的問題。通過屢次嘗試才終於成功作到。code

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    > 
    <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
    <com.himi.MySurfaceView android:id="@+id/view3d"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"/>                
        <Button
         android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:text="Himi Button_1"
                 android:id="@+id/button1"/>
	
        <Button android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_toRightOf="@id/button1"
                android:text="Himi Button_2"
                  android:id="@+id/button2"/>
                     <TextView 
    		android:id="@+id/textview"
    		android:layout_width="fill_parent"
        	android:layout_height="fill_parent"
        	android:text="This is Himi"
        	android:textSize="32sp" 
        	android:textColor="#00FF00"
        	android:gravity="center_horizontal"/> 
    </RelativeLayout>   
</LinearLayout>
 

 

xml 修改的不大,主要將以前的線性佈局改爲了相對佈局。雖然改動不大,可是也真的費了很多時間去調整、這樣一來你們就能夠在本身的遊戲Surfaceview中隨意添加組件啦,娃哈哈~~~

源碼在上一篇已經給出下載地址,這裏也只是對xml的修改你們須要能夠去下載上一篇的源碼,將xml調整便可、

 

(推薦你們訂閱本博客,由於咱的更新速度但是很快的~娃哈哈)

 

 

 

 

 


原文連接: http://blog.csdn.net/xiaominghimi/article/details/6100602
相關文章
相關標籤/搜索