欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Android游戲開發之單點觸摸與多點觸摸的響應方

系統 1938 0
Android游戲開發之單點觸摸與多點觸摸的響應方式




雨松MOMO原創文章如轉載,請注明:轉載自 雨松MOMO的博客 原文地址: http://blog.csdn.net/xys289187120/article/details/6686708





Android游戲開發之單點觸摸與多點觸摸的響應方式(二十三)




游戲開發中的觸摸事件


在游戲開發中監聽屏幕觸摸事件須要在View中重寫父類onTouchEvent方法,在重寫的方法中攔截用戶觸摸屏幕的一些信息,比如觸摸屏幕的X 、 Y坐標 觸摸屏幕發生的事件 觸摸按下 觸摸抬起 觸摸移動,觸摸屏幕發生的時間 等等, 我們先看看onTouchEvent的函數原型。

函數中的Event 參數的意思為當前觸摸事件的對象,這個對象中包含著當前觸摸事件的一切信息。比如ecent.getAction()可以拿到當前觸摸事件的名稱,根據觸摸事件的名稱可以判斷當前是觸摸按下 還是 觸摸移動 還是 觸摸抬起。 event.getX()與 event.getY()可以拿到當前觸摸屏幕的X Y坐標。event.getEventTime(); 可以拿到當前觸發觸摸事件的時間,等等所有的信息。




這個函數是具有有返回值的,須要返回一個布爾值。大家發現我將return super.onTouchEvent(event)注釋掉了而是直接return ture。 我給同學們解釋一下為什么要著么操作。onTouchEvent方法不是我們手動調用的而是系統調用的 它的返回值會直接通知系統是否回調方法。如果說在這里return false onTouchEvent方法永遠不會在被回調也就是說它只能響應觸摸按下操作,觸摸移動事件 和觸摸抬起事件永遠都不會在被響應 ,log只會打印出"ACTION_DOWN"。 如果這里return super.onTouchEvent(event); 調用父類的方法來得到返回值返回 ,這樣也是有問題的因為調用父類的onTouchEvent方法可能也會返回false 這樣一來依然會無法響應觸摸移動事件和觸摸抬起事件。所以為了正確的處理觸摸事件在這里我們直接return ture 這樣一來就萬無一失了, Log中會將所有信息都打印出來。



1.單點觸摸


在下面這個DEMO中 用手觸摸 移動 屏幕后 下面的icon圖片會跟隨這我的手勢移動。 代碼實現主要是在onTouchEvent方法中時時去計算手觸摸屏幕各個狀態的坐標 然后調用postInvalidate(); 方法去通知UI刷新屏幕重新顯示圖片 文字的位置以及內容。 具體相關內容見 Android游戲開發之構建游戲框架View與SurFaceView的區別(五)






2.多點觸摸


由于模擬器只能用鼠標點擊一個點 無法模擬多點觸摸,所以我用真機來調試多點觸摸。下面這張圖是我用豌豆莢在真機中截的圖,此時我兩只手指正在手機屏幕中觸摸移動。界面中正確的根據我的手勢來移動圖片以及顯示的內容。這里強調一下多點觸摸并不是所有手機都支持 有些手機支持很多點有些手機可能只支持單點。就那我的手機來說只支持兩點觸摸。所以無論我用多少根手指頭在我的手機屏幕上比劃 也只會出現2個觸摸點,如下圖所示。







下面我們詳細的說一下代碼的實現方式,多點觸摸和單點觸摸一樣都是在onTouchEvent中去監聽觸摸事件。調用方法event.getPointerCount(); 可以拿到當前屏幕同時觸摸點的數量 以我的手機為例因為只支持兩點觸摸所以在我的手機上調用該方法最多只會返回2。 拿到了觸摸屏幕點的數量以后 可以使用for循環來遍歷當前屏幕的所有觸摸點,調用event.getX(i); 與 event.getY(i); 方法 將ID作為參數傳入會得到每個點在屏幕中顯示的X Y坐標值。最后根據坐標值將圖片與內容繪制在手機屏幕中。




總體來說這章內容還是比較簡單的,
老規矩每篇文章都會附帶源代碼,最后如果你還是覺得我寫的不夠詳細 看的不夠爽 不要緊我把源代碼的下載地址貼出來 歡迎大家一起討論學習雨松MOMO希望可以和大家一起進步。

下載地址: http://download.csdn.net/source/3519249

Android游戲開發之單點觸摸與多點觸摸的響應方式(二十三)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色综合网址| 免费xx视频| 久久久99精品免费观看 | 射综合网| 国产亚洲成在线播放va | 精品精品 | 亚洲精品免费在线观看 | 人妻体内射精一区二区三四 | 日本 欧美 国产 | 亚洲一区二区在线 | 免费视频片在线观看 | 亚洲人成网站999久久久综合 | 国产成人综合网 | 成人性生交大片 | 欧美精品在线观看 | 2015小明看日韩成人免费视频 | 欧美精品v国产精品v日韩精品 | 天天草夜夜爽 | 亚洲国产天堂久久综合226 | 热久久成人| 狠狠狠操| 国产精品乱码一区二三区小蝌蚪 | 亚洲乱码视频 | 精品在线| 久久久久九九九九 | 免费的污污网站 | www.天天操| 一区二区三区视频在线播放 | www,久久久| 日韩国产在线 | 秋霞日韩久久理论电影 | 国产一区二区三区久久久久久久久 | 国产视频网站在线观看 | 99精品99| 日韩精品久 | www.狠狠艹 | 精品国产18久久久久久二百 | 亚洲综合色丁香婷婷六月图片 | 久色视频在线观看 | 亚洲精品亚洲人成人网 | 97超视频在线观看 |