Обработка сенсорных событий в игре QML

Часть моей игры включает в себя table в котором вращается шар. Есть также два прямоугольника, как racketс, что игрок может использовать для игры. Сначала я использовал простой прямоугольник с областью мыши, заполняющей ракетку, и некоторые drag свойства. Было несколько хорошо, когда я запустил программу на своем рабочем столе, но на устройствах Android прикосновение (например, пальцем) к ракеткам:

  • трудно сделать игру неприятной, а также влияет на перемещение ракетки
  • движение мяча!

Поэтому я искал в Интернете и столкнулся с MultiPointTouchArea. Поэтому я попытался использовать его в обеих ракетках, надеясь, что это решит проблемы.

Я использовал этот код:

import QtQuick 2.9

Rectangle {
    id: root
    width: 15; height: 65
    property int oldY: y
    property bool yUwards: false
    property bool yDwards: false

       onYChanged: {
           if(y > oldY)  yDwards = true
           else if (y < oldY)  yUwards = true
           oldY = y
       }

       MultiPointTouchArea {
        anchors.fill: root
        mouseEnabled: true
        minimumTouchPoints: 1
        maximumTouchPoints: 1
        touchPoints: [
            TouchPoint { id: root }
        ]
        drag.target: root
        drag.axis: Drag.YAxis
        drag.minimumY: table.y
        drag.maximumY: table.height - height - 10
    }
}

Но есть ошибки, такие как:
qrc: /Racket.qml: 22 id не уникален

Я имею в виду, как правильно использовать этот метод для ракеток, пожалуйста?

0 ответов

Другие вопросы по тегам