程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> 使用J2ME技術開發RPG游戲之按鍵處理機制

使用J2ME技術開發RPG游戲之按鍵處理機制

編輯:J2ME

  在游戲中,按鍵處理機制也需要小心的實現,這裡就介紹一種實用的按鍵處理機制。

  在實際的游戲中,一般為了按鍵靈敏,我們一般不會直接在keyPressed或keyReleased方法內部書寫邏輯的代碼,而只是在這些方法內部記錄或清除按鍵的記錄,而把實際的處理放在線程中進行。這個是本機制中采用的方式。

  而且不同手機的按鍵鍵值存在不同,為了方便移植,我們把按鍵轉換成自己定義的數值,然後在程序中使用自定義的值進行處理。

  該機制中最核心的變量為;

  private int keyStates;

  用該變量中的一個二進制位來代表一種按鍵是否按下,如果按下為1,否則為0。每個按鍵自己進行了定義,定義的代碼如下:

  轉換按鍵鍵值的方法根據手機型號不同,也存在很多的不同,下面是WTK模擬器的實現代碼:

  按鍵按下時,首先把物理按鍵的鍵值轉換為自定義的鍵值,然後把按鍵信息保存到按鍵狀態變量keyStates中,保存時采用的是位運算符位或實現的。實現代碼如下:

  按鍵釋放時,和按鍵按下類似,首先轉換鍵值,然後清除按鍵信息。清除時把按鍵狀態取反,然後與keyStates位與即可。實現代碼如下:

  在界面切換時,需要把按鍵狀態清空,這樣只需要把keyStates清零即可。實現代碼如下:

  實際的按鍵處理的代碼可以在線程中實現。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved