Я хочу установить событие касания, которое происходит только при касании объекта игрока. Но почему мой класс игрока до сих пор не может использовать метод setOnTouchListener
? Я поместил его в основной класс, который расширяет SurfaceView и реализует SurfaceHolder.Callback, он говорит, что не может разрешить символ на
player.setOnTouchListener(new View.OnTouchListener){
public boolean onTouch(View v, MotionEvent event) {
return true;
}
};
Мой класс игрока расширяет GameObject (это просто абстрактный класс, содержащий свойства объекта) и реализует View.OnTouchListener. Я также переопределил метод в самом классе игрока.
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
Есть идеи? Спасибо.
РЕДАКТИРОВАТЬ:
@Override
public void surfaceCreated(SurfaceHolder holder){
bg = new Background(BitmapFactory.decodeResource(getResources(),R.drawable.background));
player = new Player(BitmapFactory.decodeResource(getResources(),R.drawable.character),WIDTH/2,HEIGHT/2+40,80,75,14);
safeArea = new SafeArea(WIDTH/2,HEIGHT/2,100,40);
bouncer = new ArrayList<Bouncer>();
thread = new MainThread(getHolder(), this);
//Start the game loop
thread.setRunning(true);
thread.start();
setOnTouchListener(player);
}