Qt Sensors - Maze QML Example▲
Maze in QML▲
To write a QML application that will use the TiltSensor QML sensors type you need to do the following steps:
Import the QtSensors 5.x declarative plugin:
Sélectionnez
import
QtSensors 5.0
Add the Sensor QML types into your qml file.
In this example we use the TiltSensor with values based in degrees and an accuracy of 5 degree:
Sélectionnez
TiltSensor
{
id
:
tiltSensor
active
:
true
}
Starting the sensor can be done by setting the 'enabled' property to true:
The mouse should move by a factor of the tilt value:
Sélectionnez
var xstep =
0
;
xstep =
tiltSensor.reading.yRotation *
0.1 //acceleration
var ystep =
0
;
ystep =
tiltSensor.reading.xRotation *
0.1 //acceleration
The walk direction of the mouse takes into account some collision detection:
Sélectionnez
if
(xstep &
lt; 1
&
amp;&
amp; xstep &
gt; 0
)
xstep =
0
else
if
(xstep &
gt; -
1
&
amp;&
amp; xstep &
lt; 0
)
xstep =
0
if
(ystep &
lt; 1
&
amp;&
amp; ystep &
gt; 0
)
ystep =
0
;
else
if
(ystep &
gt; -
1
&
amp;&
amp; ystep &
lt; 0
)
ystep =
0
;
if
((xstep &
lt; 0
&
amp;&
amp; mouseCtrl.x &
gt; 0
&
amp;&
amp; Lib.canMove(mouseCtrl.x +
xstep,mouseCtrl.y))) {
xval =
mouseCtrl.
x +
xstep;
}
else
if
(xstep &
gt; 0
&
amp;&
amp; mouseCtrl.x &
lt; (Lib.cellDimension *
(Lib.dimension -
1
))
&
amp;&
amp; Lib.canMove(mouseCtrl.x +
xstep,mouseCtrl.y)) {
xval =
mouseCtrl.
x +
xstep;
}
else
xval =
mouseCtrl.x;
if
(yste