歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android3D游戲——觸屏事件與多個Activity

先說一下到現在我這游戲做的進度吧。其實是以前已經做過一次了,不過感覺設計不合理所以從頭再理一遍。在這個過程中又增加了許多新的元素,也有了很多新的想法。目前的進度是已經做完logo展示與游戲資源加載這兩個框架,正在做的是主游戲菜單,框架也已經做好了,只要把一些圖片,音效做好就可以做下面的子菜單了。

今天要講的內容主要有兩點,一個是觸屏事件,一個是多個Activity。

現如今,智能手機也有一定的普及率了,至少我看到我的同學大多數都是觸屏的智能手機了。所以做好觸屏事件的處理,是你軟件成功與否的關鍵因素之一。尤其是做3D游戲,游戲的大部分控制都是靠觸屏完成的。設計良好的控制方式,可以有效提高游戲的可玩度。

在每個Activity中,我們都可以對觸屏事件進行處理。基本的實現方式是復寫onTouchEvent方法:

  1. public boolean onTouchEvent(MotionEvent me) {  
  2.         if (!isLock) {  
  3.             if (int_UserInterface == int_Menu) {  
  4.                 if (me.getAction() == MotionEvent.ACTION_DOWN) {  
  5.                     xpos = me.getX();  
  6.                     ypos = me.getY();  
  7.                     // ////////////選擇新游戲/////////////////////   
  8.                     if (mMenuText_New.isSelected(xpos, ypos)) {  
  9.                         mMenuText_New.Change("Menu_Txt_New_Sel");  
  10.                         mSelectSound.play();  
  11.                     }  
  12.                 } else if (me.getAction() == MotionEvent.ACTION_MOVE) {  
  13.                     xpos = me.getX();  
  14.                     ypos = me.getY();  
  15.                     // ////////////選擇新游戲/////////////////////   
  16.                     if (mMenuText_New.isChange()&& !mMenuText_New.isSelected(xpos, ypos)) {  
  17.                           
  18.                         mMenuText_New.Change("Menu_Txt_New");  
  19.                           
  20.                     } else if (!mMenuText_New.isChange()&& mMenuText_New.isSelected(xpos, ypos)) {  
  21.                           
  22.                         mMenuText_New.Change("Menu_Txt_New_Sel");  
  23.                         mSelectSound.play();  
  24.                           
  25.                     }  
  26.                 } else if (me.getAction() == MotionEvent.ACTION_UP) {  
  27.                     // ////////////選擇新游戲/////////////////////   
  28.                     if (mMenuText_New.isSelected(xpos, ypos)) {  
  29.   
  30.                     }  
  31.                 }  
  32.   
  33.             }  
  34.   
  35.         }  
  36.         return false;  
  37.     }  
Copyright © Linux教程網 All Rights Reserved