3594bd78-35e8-3b46-821d-16aa468738d1

Himi 原創, 歡迎轉載,轉載請在明顯處注明! 謝謝。

 

原文位址:HTTP://blog.csdn.net/xiaominghimi/archive/2010/12/27/6100602.aspx

 

各位童鞋請你們注意:surfaceview中確實有 onDraw這個方法,但是surfaceview不會自己去調用!!!

 

而我代碼中的ondraw 也好 draw 也好,都是我自己定義的一個方法。。。放線上程中不斷調用的,一定要注意!!

 

上一篇我們已經可以在同一介面中既顯示我們的surfaceview和button、textview等元件,那麼基本算是成功了,但是身為遊戲開發人員,如果不是想故意要這種類似電影形式的展現方式(我們的surfaceview在中間 - -.很想播放電影似的。。),是絕對不允許遊戲的分量只是占了中間那麼一部分,肯定需要全屏顯示,別的元件只是一個配角的角色。那麼下面先上一張截圖看下為什麼修改與調整。

3c0248b8-2594-32f5-b6f0-413a78c9b80a  



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


3594bd78-35e8-3b46-821d-16aa468738d1  




娃哈哈,這效果就對啦,我們的view占滿全屏,而元件本身才會對我們的view中的內容有遮擋,不會多出一些無用的長條遮擋....

 

當時雖然想的方法就是佈局xml的問題,我一開始想在我們xml中定義的surfaceview中直接添加按鈕,但是view不能添加view!所以沒辦法,就想到是否是佈局的問題。經過多次嘗試才終於成功做到。



JAVA代碼
1.<?xml version="1.0" encoding="utf-8"?>

戮克 發表在 痞客邦 留言(0) 人氣()

c6811bee-c419-319d-b0a1-c6922d9c5303

Himi 原創, 歡迎轉載,轉載請注明! 謝謝。
原文位址:HTTP://blog.csdn.net/xiaominghimi/archive/2010/12/26/6099194.aspx

 

各位童鞋請你們注意:surfaceview中確實有 onDraw這個方法,但是surfaceview不會自己去調用!!!

 

而我代碼中的ondraw 也好 draw 也好,都是我自己定義的一個方法。。。放線上程中不斷調用的,一定要注意!!

 

昨天耶誕節,沒有出去,而是一天時間全部糾結在如何在SurfaceView中添加元件,例如添加常用的Button,TextView等等、一開始也想著從網上找些資料看看有沒有可參考的,但是發現搜到的結果仍是些童鞋對此很疑惑並且也在找尋答案,那麼,這裡就把耶誕節一天的成果來和各位童鞋分享;

 

戮克 發表在 痞客邦 留言(0) 人氣()


a30e1269-6d54-34fe-a55d-118d53e7d53819d60937-b8b8-3baa-96e3-dcff30f8dbe35e098ba2-56b7-364a-907c-5366980c6fd0  

Himi 原創, 轉載請注明! 謝謝。

 

原文位址:HTTP://blog.csdn.net/xiaominghimi/archive/2010/12/23/6094182.aspx



今天講下在Surfaceview中如何實現兩個或者多個Activity之間的切換與資料交互,為了更形象一些我做了一個遊戲登錄介面的demo,其中對於輸入介面的佈局這些我也是隨意寫了下,主要是實現功能並沒有花時間去美化,所以大家可以自己去xml或者代碼中去改變佈局,每個小元件的寬高等。好了,下面先上圖(本人超愛~哆啦A夢,所以少不了用哆啦A夢的圖了,娃哈哈)
由於代碼中一共寫了三個類,這裡不再全部貼出來,不方便;大家可以在文章的末尾去下載源碼;

戮克 發表在 痞客邦 留言(0) 人氣()

Himi 原創, 轉載請注明! 謝謝。

原文位址: HTTP://blog.csdn.net/xiaominghimi/archive/2010/12/21/6090631.aspx

 

各位童鞋請你們注意:surfaceview中確實有 onDraw這個方法,但是surfaceview不會自己去調用!!!

 

而我代碼中的ondraw 也好 draw 也好,都是我自己定義的一個方法。。。放線上程中不斷調用的,一定要注意!!

 

其實上一篇分析surfaceview的文章就是一個簡單的遊戲框架了,當然這裡再強調一下,簡單的遊戲框架,所以不要高手們不要亂噴~

 

這個Demo是給群裡一童鞋寫的一個對圖片操作以及按鍵處理,遊戲簡單框架的一個demo,這裡放出給大家分享~

戮克 發表在 痞客邦 留言(0) 人氣()

Himi 原創, 轉載請注明! 謝謝。

原文位址: HTTP://blog.csdn.net/xiaominghimi/archive/2010/12/21/6090575.aspx

 

各位童鞋請你們注意:surfaceview中確實有 onDraw這個方法,但是你surfaceview不會自己去調用!!!

 

而我代碼中的ondraw() 也好 draw() 也好,都是我自己定義的一個方法。。。放線上程中不斷調用的,一定要注意!!

 

之前我們對view和surfaceview 做了比較和取捨,最後我們發現surfaceview更加的適合運作與遊戲開發中,那麼下面就讓我們來看看這個surfaceview的結構吧;

 

先上一段代碼:

戮克 發表在 痞客邦 留言(0) 人氣()

Himi 原創, 轉載請注明! 謝謝。

原文位址: HTTP://blog.csdn.net/xiaominghimi/archive/2010/12/21/6089594.aspx

 

在Android遊戲當中充當主要的除了控制類外就是顯示類,在J2ME中我們用Display和Canvas來實現這些,而Google Android中涉及到顯示的為view類,Android遊戲開發中比較重要和複雜的就是顯示和遊戲邏輯的處理。

 

這裡我們說下android.view.View和android.view.SurfaceView。SurfaceView是從View基類中派生出來的顯示類,直接子類有GLSurfaceView和VideoView,可以看出GL和視頻播放以及Camera攝像頭一般均使用SurfaceView,到底有哪些優勢呢? SurfaceView可以控制表面的格式,比如大小,顯示在螢幕中的位置,最關鍵是的提供了SurfaceHolder類,使用getHolder方法獲取,相關的有Canvas lockCanvas()
Canvas lockCanvas(Rect dirty) 、void removeCallback(SurfaceHolder.Callback callback)、void unlockCanvasAndPost(Canvas canvas) 控制圖形以及繪製,而在SurfaceHolder.Callback 介面回檔中可以通過重寫下面方法實現。

 

使用的SurfaceView的時候,一般情況下要對其進行創建,銷毀,改變時的情況進行監視,這就要用到 SurfaceHolder.Callback.
class XxxView extends SurfaceView implements SurfaceHolder.Callback {

戮克 發表在 痞客邦 留言(0) 人氣()