歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android3D游戲——觸屏事件與多個Activity

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

日期:2017/3/1 10:29:40   编辑:Linux編程

先說一下到現在我這游戲做的進度吧。其實是以前已經做過一次了,不過感覺設計不合理所以從頭再理一遍。在這個過程中又增加了許多新的元素,也有了很多新的想法。目前的進度是已經做完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. mMenuText_New.Change("Menu_Txt_New");
  18. } else if (!mMenuText_New.isChange()&& mMenuText_New.isSelected(xpos, ypos)) {
  19. mMenuText_New.Change("Menu_Txt_New_Sel");
  20. mSelectSound.play();
  21. }
  22. } else if (me.getAction() == MotionEvent.ACTION_UP) {
  23. // ////////////選擇新游戲/////////////////////
  24. if (mMenuText_New.isSelected(xpos, ypos)) {
  25. }
  26. }
  27. }
  28. }
  29. return false;
  30. }
Copyright © Linux教程網 All Rights Reserved