Tôi đang tạo trò chơi đua xe bằng Libgdx. Tôi muốn chạm vào nửa bên phải của màn hình để tăng tốc, đồng thời không xóa lần chạm trước đó chạm vào một điểm khác ở phía bên trái màn hình để bắn. Tôi không thể phát hiện các điểm tiếp xúc sau này.Làm thế nào để theo dõi nhiều sự kiện cảm ứng trong Libgdx?
Tôi đã tìm kiếm và nhận phương thức Gdx.input.isTouched(int index)
nhưng không thể xác định cách sử dụng. Mã chạm màn hình của tôi là:
if(Gdx.input.isTouched(0) && world.heroCar.state != HeroCar.HERO_STATE_HIT){
guiCam.unproject(touchPoint.set(Gdx.input.getX(), Gdx.input.getY(), 0));
if (OverlapTester.pointInRectangle(rightScreenBounds, touchPoint.x, touchPoint.y)) {
world.heroCar.state = HeroCar.HERO_STATE_FASTRUN;
world.heroCar.velocity.y = HeroCar.HERO_STATE_FASTRUN_VELOCITY;
}
} else {
world.heroCar.velocity.y = HeroCar.HERO_RUN_VELOCITY;
}
if (Gdx.input.isTouched(1)) {
guiCam.unproject(touchPoint.set(Gdx.input.getX(), Gdx.input.getY(), 0));
if (OverlapTester.pointInRectangle(leftScreenBounds, touchPoint.x, touchPoint.y)) {
world.shot();
}
}
Xin chào, cảm ơn bạn đã trả lời. Khi tôi sử dụng mã của bạn lửa của nó bắn hoặc tôi chạm vào màn hình hay không nhưng tôi muốn bắn bắn chỉ khi màn hình cảm ứng. –
Ah, có lẽ mã nên kiểm tra 'Gdx.input.isTouched (i)' trước khi gọi 'getX (i)'? (Có lẽ các điểm tiếp xúc không sử dụng có X bằng 0 ...). Tôi sẽ cập nhật mã. –
Xin chào, cảm ơn. –