先说一下到现在我这游戏做的进度吧。其实是以前已经做过一次了,不过感觉设计不合理所以从头再理一遍。在这个过程中又增加了许多新的元素,也有了很多新的想法。目前的进度是已经做完logo展示与游戏资源加载这两个框架,正在做的是主游戏菜单,框架也已经做好了,只要把一些图片,音效做好就可以做下面的子菜单了。
今天要讲的内容主要有两点,一个是触屏事件,一个是多个Activity。
现如今,智能手机也有一定的普及率了,至少我看到我的同学大多数都是触屏的智能手机了。所以做好触屏事件的处理,是你软件成功与否的关键因素之一。尤其是做3D游戏,游戏的大部分控制都是靠触屏完成的。设计良好的控制方式,可以有效提高游戏的可玩度。
在每个Activity中,我们都可以对触屏事件进行处理。基本的实现方式是复写onTouchEvent方法:
public boolean onTouchEvent(MotionEvent me) { if (!isLock) { if (int_UserInterface == int_Menu) { if (me.getAction() == MotionEvent.ACTION_DOWN) { xpos = me.getX(); ypos = me.getY(); // ////////////选择新游戏///////////////////// if (mMenuText_New.isSelected(xpos, ypos)) { mMenuText_New.Change("Menu_Txt_New_Sel"); mSelectSound.play(); } } else if (me.getAction() == MotionEvent.ACTION_MOVE) { xpos = me.getX(); ypos = me.getY(); // ////////////选择新游戏///////////////////// if (mMenuText_New.isChange()&& !mMenuText_New.isSelected(xpos, ypos)) { mMenuText_New.Change("Menu_Txt_New"); } else if (!mMenuText_New.isChange()&& mMenuText_New.isSelected(xpos, ypos)) { mMenuText_New.Change("Menu_Txt_New_Sel"); mSelectSound.play(); } } else if (me.getAction() == MotionEvent.ACTION_UP) { // ////////////选择新游戏///////////////////// if (mMenuText_New.isSelected(xpos, ypos)) { } } } } return false; }