2011-01-20 78 views
0

这是一个缺乏经验的程序员的基本问题。我正在android应用程序中制作游戏。显然它需要很多触摸事件。 if/else语句似乎使这个函数变得非常大。我想了解如何编写onTouchEvent方法的一些指导。有人可以指点我的任何具有onTouchEvent方法的示例,它的结构如何?OnTouchEvent游戏指南

回答

1

Java中最好的设计模式之一是观察者(监听者),我推荐使用它而不是onTouchEvent()。原因是你可以将原始控件本身(即Button)的事件处理分离出来,而且你不必为你的控件创建子类。

这里有一个小例子:

MyEventHandler myEvHandler = new MyEventHandler(); 
Button button = new Button(); 
button.setOnClickListener(myEvHandler); 

// Basic Object Class called MyEventHandler 
class MyEventHandler implements OnClickListener 
{ 
    public void onClick(View v) 
    { 
     if (v instanceof Button) 
     { 
      // handle the click event here. 
     }  
    } 
} 

请注意,你不必把点击事件逻辑的按钮,最重要的是,你不必创建一个自定义按钮子类。

对于任何视图和任何UI事件,您都可以做同样的事情。