Управление объектом в игре на java в android

144
07 января 2021, 06:10

Я делаю небольшую игру - ретро-гонку. И для управления автомобилем я решил использовать нажатия на экран. Хотелось бы, чтобы при нажатии на экран объект двигался до тех пор, пока палец опущен. Если палец поднят,то объект останавливается. Как мне это реализовать?

Никакие движки не используются

Answer 1

Раз движки и графические фреймворки не используются, то наследуйте класс View, реализуйте в нём отрисовку методом onDraw. А для отслеживания касаний используйте метод onTouchEvent:

@Override
public boolean onTouchEvent(MotionEvent event) {
    // Координаты
    float x = event.getX();
    float y = event.getY();
    // Тип события
    switch(event.getAction()) {
        case MotionEvent.ACTION_DOWN:
        // Нажатие
        return true;
        case MotionEvent.ACTION_MOVE:
        // Движение
        return true;
        case MotionEvent.ACTION_MOVE:
        // Отпускание
        return true;
    }
    return false;
}

При этом, класс должен быть implements OnTouchListener.

Но для игр всё же лучше использовать движки т.к производительность лучше и многое полезное там уже реализовано. Например, Godot (оф. сайт, вики) или LibGDX (оф. сайт, вики).