Android3D游戏——触屏事件与多个Activity

xiaoxubbs 2012-02-24

先说一下到现在我这游戏做的进度吧。其实是以前已经做过一次了,不过感觉设计不合理所以从头再理一遍。在这个过程中又增加了许多新的元素,也有了很多新的想法。目前的进度是已经做完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.     }  

相关推荐