Я хочу установить событие касания, которое возникает только при касании объекта игрока. Но почему мой класс игрока по-прежнему не может использовать метод setOnTouchListener
? Я положил его в главном классе, который расширяет SurfaceView и реализует SurfaceHolder.Callback, он говорит, что не может разрешить символ наНе удается разрешить набор символовOnTouchListener
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;
}
Любая идея? Благодарю.
EDIT:
@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);
}
Что ваш импорт выглядеть? –
в классе игроков: import android.graphics.Bitmap; import android.graphics.Canvas; импорт android.view.MotionEvent; импорт android.view.View; @KristyWelsh – user3411184