Qt – Androidアプリ開発 – バブルの動き
津路です。こんにちは。
Qt – Androidアプリ開発 – バブルを動かすためのqml編集に続き、バブルを動かすコーディングです。
Accelerometer 型の値が変化したときに呼ばれる、シグナルを定義します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | onReadingChanged: { var newX = (bubble.x + calcRoll(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) var newY = (bubble.y - calcPitch(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) if (isNaN(newX) || isNaN(newY)) return; if (newX < 0) newX = 0 if (newX > mainWindow.width - bubble.width) newX = mainWindow.width - bubble.width if (newY < 18) newY = 18 if (newY > mainWindow.height - bubble.height) newY = mainWindow.height - bubble.height bubble.x = newX bubble.y = newY } |
SmoothedAnimationというQMLタイプのBehaviorを定義します。動きをスムーズに見せるためのタイプです。
1 2 3 4 5 6 7 8 9 10 11 12 | Behavior on y { SmoothedAnimation { easing.type: Easing.Linear duration: 100 } } Behavior on x { SmoothedAnimation { easing.type: Easing.Linear duration: 100 } } |
次に、デバイスの方向を縦に固定します。
AndroidManifest.xmlを作成します。
作成するには、左ペインのプロジェクトをクリックして、ビルド設定を開きます。
次に、右画面でBuild Android APKの詳細を開くと、Create Templateボタンが見えます。
そして、AndroidManifest.xmlを開き、android:screenOrientation=”portrait” と書きます。
続きは、また次回に。