summaryrefslogtreecommitdiffstats
path: root/chicken-wranglers/src/qml/widgets/featherfall.js
diff options
context:
space:
mode:
Diffstat (limited to 'chicken-wranglers/src/qml/widgets/featherfall.js')
-rw-r--r--chicken-wranglers/src/qml/widgets/featherfall.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/chicken-wranglers/src/qml/widgets/featherfall.js b/chicken-wranglers/src/qml/widgets/featherfall.js
new file mode 100644
index 0000000..6ae51a4
--- /dev/null
+++ b/chicken-wranglers/src/qml/widgets/featherfall.js
@@ -0,0 +1,66 @@
+var component;
+var featherObjList = new Array;
+
+function create(fallWidth, fallHeight) {
+ var i, range, lowRange, highRange;
+
+ if (component == null)
+ component = Qt.createComponent("Feather.qml");
+
+ range = fallWidth / featherFall.number;
+ lowRange = -range;
+ highRange = 0;
+
+ var resourcePath = "";
+ if (game.environment() == Global.Symbian)
+ resourcePath = "qrc:/images/general/symbian/feather"
+ else
+ resourcePath = "qrc:/images/general/feather"
+
+ for (i = 0; i < featherFall.number; i++) {
+ if (component.status == Component.Ready) {
+
+ featherObjList[i] = component.createObject(background);
+
+ if (featherObjList[i] == null) {
+ console.log("error creating featherObj");
+ console.log(component.errorString());
+ return false;
+ }
+
+ lowRange = lowRange + range;
+ highRange = highRange + range;
+
+ var xpos = (highRange - range) * Math.random() + lowRange;
+ featherObjList[i].x = xpos;
+
+ featherObjList[i].delay = Math.random() * 3000 * i;
+
+ var swing = Math.random() * range;
+ if (swing < 100)
+ swing += 100;
+
+ featherObjList[i].xMax = xpos + swing;
+ featherObjList[i].xMin = xpos - swing;
+ featherObjList[i].yMax = fallHeight;
+ featherObjList[i].source = resourcePath + (Math.floor(5 * Math.random()) + 1) + ".png";
+
+ featherObjList[i].startAnimation();
+ } else {
+ console.log("error loading featherObj component");
+ console.log(component.errorString());
+ return false;
+ }
+ }
+
+ return true;
+}
+
+function destroy() {
+ for (var i = 0; i < featherFall.number; i++) {
+ if (featherObjList[i] == null)
+ continue;
+
+ featherObjList[i].destroy()
+ }
+}