2011-01-20 29 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事件,您都可以做同樣的事情。