Warning, /education/gcompris/src/activities/clickgame/Clickgame.qml is written in an unsupported language. File is not indexed.
0001 /* GCompris - Clickgame.qml 0002 * 0003 * SPDX-FileCopyrightText: 2014 Bruno Coudoin <bruno.coudoin@gcompris.net> 0004 * 0005 * Authors: 0006 * Bruno Coudoin <bruno.coudoin@gcompris.net> (GTK+ version) 0007 * Bruno Coudoin <bruno.coudoin@gcompris.net> (Qt Quick port) 0008 * Timothée Giet <animtim@gmail.com> (animation refactoring) 0009 * 0010 * SPDX-License-Identifier: GPL-3.0-or-later 0011 */ 0012 import QtQuick 2.12 0013 import GCompris 1.0 0014 import "../../core" 0015 import "clickgame.js" as Activity 0016 0017 ActivityBase { 0018 id: activity 0019 focus: true 0020 0021 onStart: {} 0022 onStop: {} 0023 0024 pageComponent: Image { 0025 id: background 0026 signal start 0027 signal stop 0028 signal animTrigger 0029 focus: true 0030 fillMode: Image.PreserveAspectCrop 0031 source: "qrc:/gcompris/src/activities/clickgame/resource/sea1.webp" 0032 sourceSize.width: width 0033 sourceSize.height: height 0034 0035 Component.onCompleted: { 0036 activity.start.connect(start) 0037 activity.stop.connect(stop) 0038 } 0039 onStart: { Activity.start(activity, background, bar, bonus, items) } 0040 onStop: { 0041 Activity.stop() 0042 timer.stop() 0043 fishAnimation.stop() 0044 } 0045 0046 QtObject { 0047 id: items 0048 property alias score: score 0049 property alias killedFishes: score.currentSubLevel 0050 property int currentLevel: activity.currentLevel 0051 } 0052 0053 Timer { 0054 id: timer 0055 interval: 5000 0056 running: true 0057 repeat: true 0058 onTriggered: activity.audioEffects.play("qrc:/gcompris/src/activities/clickgame/resource/bubble.wav") 0059 } 0060 0061 Timer { 0062 id: fishAnimation 0063 interval: 10 0064 running: true 0065 repeat: true 0066 onTriggered: background.animTrigger() 0067 } 0068 0069 DialogHelp { 0070 id: dialogHelpLeftRight 0071 onClose: home() 0072 } 0073 0074 Score { 0075 id: score 0076 0077 anchors { 0078 top: parent.top 0079 bottom: undefined 0080 right: parent.right 0081 margins: 10 * ApplicationInfo.ratio 0082 } 0083 } 0084 0085 Bar { 0086 id: bar 0087 level: items.currentLevel + 1 0088 content: BarEnumContent { value: help | home | level } 0089 onHelpClicked: { 0090 displayDialog(dialogHelpLeftRight) 0091 } 0092 onPreviousLevelClicked: Activity.previousLevel() 0093 onNextLevelClicked: Activity.nextLevel() 0094 onHomeClicked: home() 0095 } 0096 0097 Bonus { 0098 id: bonus 0099 Component.onCompleted: win.connect(Activity.nextLevel) 0100 } 0101 } 0102 0103 }