Как осуществить передвижение прямоугольника на соседнюю клетку при нажатии на него ? qml

Rectangle{

    id:brick
    width: 80; height: 80
}
onClicked:


Ответы (1 шт):

Автор решения: eri

Прямоугольник не принимает клик - нужно на него натянуть MouseArea. Переместить его можно поменяв координаты x,y. Как именно он будет перемещаться задается через Behavior, где можно указать разные анимации

import QtQuick 2.0

Rectangle {
    width: 240
    height: 240

    Rectangle {

        width: 80
        height: 80
        color: "red"

        MouseArea {

            anchors.fill: parent
            property var direction: 0

            onClicked: {
                if (direction == 0)
                    parent.x += 80
                if (direction == 1)
                    parent.y += 80
                if (direction == 3) {
                    parent.x += 80
                    parent.y += 80
                }
                direction += 1
            }
        }

        Behavior on x {

            NumberAnimation {
                id: bouncebehavior
                duration: 1000
                easing {
                    type: Easing.OutElastic
                    amplitude: 1
                    period: 0.5
                }
            }
        }

        Behavior on y {
            animation: bouncebehavior
        }
    }
}
→ Ссылка