diff --git a/README.md b/README.md index d8196ae..4f41109 100644 --- a/README.md +++ b/README.md @@ -10,4 +10,5 @@ ionic platform add android Plugins ionic plugin add cordova-plugin-screen-orientation -cordova plugin add cordova-plugin-media \ No newline at end of file +cordova plugin add cordova-plugin-media +cordova plugin add https://github.com/EddyVerbruggen/Insomnia-PhoneGap-Plugin.git \ No newline at end of file diff --git a/www/css/style.css b/www/css/style.css index 3529eb6..3632c6f 100644 --- a/www/css/style.css +++ b/www/css/style.css @@ -52,7 +52,7 @@ to {background-position: -2000px 0;} width: 256px; height: 2560px; background: url('../img/mentor.png') left center; - -webkit-animation: mentorsprite 4.5s steps(10) infinite; + -webkit-animation: mentorsprite 3.8s steps(10) infinite; } @-webkit-keyframes mentorsprite { @@ -73,7 +73,7 @@ to {background-position: -2000px 0;} width: 256px; height: 1024px; background: url('../img/mentor_bravo.png') left center; - -webkit-animation: mentorspritebravo 2.5s steps(4) infinite; + -webkit-animation: mentorspritebravo 2.8s steps(4) infinite; } @-webkit-keyframes mentorspritebravo { diff --git a/www/index.html b/www/index.html index 7f4d09e..591bb3b 100644 --- a/www/index.html +++ b/www/index.html @@ -37,6 +37,8 @@ + +
diff --git a/www/js/app.js b/www/js/app.js index 4f8b5e4..a8cc998 100644 --- a/www/js/app.js +++ b/www/js/app.js @@ -5,7 +5,7 @@ // the 2nd parameter is an array of 'requires' angular.module('kinderspiel', ['ionic', 'ngCordova','ngAnimate', 'ngDraggable', 'kinderspiel.controllers', 'kinderspiel.services']) -.run(function($ionicPlatform) { +.run(function($ionicPlatform, $state, backgroundsounds_mediahandler) { $ionicPlatform.ready(function() { if(window.cordova && window.cordova.plugins.Keyboard) { // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard @@ -20,7 +20,55 @@ angular.module('kinderspiel', ['ionic', 'ngCordova','ngAnimate', 'ngDraggable', if(window.StatusBar) { StatusBar.styleDefault(); } + + /* + * Bildschirm in Landscape modus drehen und halten + */ screen.lockOrientation('landscape'); + + /* + * Bildschirm aktiv halten + */ + window.plugins.insomnia.keepAwake(); + /* + * Bildschirm aktiv halten ausschalten + */ + //window.plugins.insomnia.allowSleepAgain(); + + /* + * Homebutton und Backgroundinfos abrufen + */ + document.addEventListener("resume", onResume, false); + function onResume() { + setTimeout(function() { + backgroundsounds_mediahandler.setbackgroundstate(false); + backgroundsounds_mediahandler.playbackgroundmusic(); + console.log("The application is resuming from the background" + backgroundsounds_mediahandler.getbackgroundstate()); + }, 0); + } + + document.addEventListener("pause", onPause, false); + function onPause() { + setTimeout(function() { + backgroundsounds_mediahandler.setbackgroundstate(true); + backgroundsounds_mediahandler.stopbackgroundmusic(); + console.log("The application is going to the background" + backgroundsounds_mediahandler.getbackgroundstate()); + }, 0); + } + /* + * Backbutton Handling + */ + $ionicPlatform.registerBackButtonAction(function (event) { + if($state.current.name=="home"){ + backgroundsounds_mediahandler.stopbackgroundmusic(); + navigator.app.exitApp(); //<-- remove this line to disable the exit + } + else { + navigator.app.backHistory(); + } + }, 100); + + }); }) @@ -42,7 +90,7 @@ angular.module('kinderspiel', ['ionic', 'ngCordova','ngAnimate', 'ngDraggable', .state('spiel1', { url: '/spiel1', templateUrl: 'templates/spiel1.html', - controller: 'Spiel1Ctrl' + controller: 'Suchspiel' }) diff --git a/www/js/controllers.js b/www/js/controllers.js index 3f7bc8c..b5d72bd 100644 --- a/www/js/controllers.js +++ b/www/js/controllers.js @@ -1,286 +1 @@ -angular.module('kinderspiel.controllers', []) - -.controller('home', function($scope, $ionicPlatform, $cordovaMedia, $state ) { - -$scope.showmentor=false; - -$ionicPlatform.ready(function() { -var media = new Media('/android_asset/www/sounds/TORN.MID', fertig,null); -//var media = new Media('/android_asset/www/sounds/hintergrundmusik1.mp3', fertig,null); -var media1 = new Media('/android_asset/www/sounds/bravo.mp3', null,null); -var mediastartespiel1 = new Media('/android_asset/www/sounds/spiel1.mp3', goto_spiel1,null); -$scope.mymedia=media; -$scope.mymedia1=media1; -$scope.mediastartespiel1=mediastartespiel1; - -$scope.mymedia.play(); -$scope.mymedia.setVolume('0.3'); -}); - - $scope.play = function(src) { - var media = new Media(src, null, null); - $cordovaMedia.play(media); - } - - - $scope.starte_spiel1 = function(){ - - } - - $scope.starte_spiel2 = function(){ - $scope.mymedia1.play(); - $scope.mymedia1.setVolume('1.0'); - } - - function fertig(){ - $scope.mymedia.play(); - $scope.mymedia.setVolume('0.3'); - } - - - $scope.starte_spiel1 = function(){ - $scope.showmentor=true; - $scope.mediastartespiel1.play(); - $scope.mediastartespiel1.setVolume('1.0'); - } - - function goto_spiel1() { - $scope.mediastartespiel1.release(); - $scope.showmentor=false; - $state.go('spiel1'); - } - -}) -.controller('Spiel1Ctrl', function($scope, $ionicPlatform, $cordovaMedia, $state, $timeout) { - -$scope.showmentor=false; -$scope.showmentorbravo=false; -$scope.spiele=[]; -$scope.spieleview=[]; -$scope.tierfinden=''; -$scope.randomid=0; -$scope.error = false; - - -$ionicPlatform.ready(function() { -$scope.sounds=[]; -$scope.sounds.push(''); - -var media = new Media('/android_asset/www/sounds/hintergrundmusik1.mp3', fertig,null); - -var tiersound1 = new Media('/android_asset/www/sounds/finde_elefant.mp3', null,null); -var tiersound2 = new Media('/android_asset/www/sounds/finde_esel.mp3', null,null); -var tiersound3 = new Media('/android_asset/www/sounds/finde_hahn.mp3', null,null); -var tiersound4 = new Media('/android_asset/www/sounds/finde_hund.mp3', null,null); -var tiersound5 = new Media('/android_asset/www/sounds/finde_katze.mp3', null,null); -var tiersound6 = new Media('/android_asset/www/sounds/finde_kuh.mp3', null,null); -var tiersound7 = new Media('/android_asset/www/sounds/finde_maus.mp3', null,null); -var tiersound8 = new Media('/android_asset/www/sounds/finde_schaf.mp3', null,null); - -var bravosound = new Media('/android_asset/www/sounds/bravo.mp3', goto_newspiel,null); -var falschsound = new Media('/android_asset/www/sounds/falsch.mp3', null,null); - -$scope.mymedia=media; - -$scope.bravosound=bravosound; -$scope.falschsound=falschsound; - - -$scope.sounds.push(tiersound1); -$scope.sounds.push(tiersound2); -$scope.sounds.push(tiersound3); -$scope.sounds.push(tiersound4); -$scope.sounds.push(tiersound5); -$scope.sounds.push(tiersound6); -$scope.sounds.push(tiersound7); -$scope.sounds.push(tiersound8); - - -//$scope.mymedia.play(); -//$scope.mymedia.setVolume('0.1'); -}); - - - function fertig(){ - $scope.mymedia.play(); - $scope.mymedia.setVolume('0.1'); - } - -var tier = { - id: 1, - bild: 'elefant.jpg', - sound1: 'sound_elefant.mp3', - antwort: '' -}; -$scope.spiele.push(tier); - - -var tier1 = { - id: 2, - bild: 'esel.jpg', - sound1: 'sound_esel.mp3', - antwort: '' -}; -$scope.spiele.push(tier1); - - -var tier2 = { - id: 3, - bild: 'hahn.jpg', - sound1: 'sound_hahn.mp3', - antwort: '' -}; -$scope.spiele.push(tier2); - - -var tier3 = { - id: 4, - bild: 'hund.jpg', - sound1: 'sound_hund.mp3', - sound2: '' -}; -$scope.spiele.push(tier3); - - -var tier4 = { - id: 5, - bild: 'katze.jpg', - sound1: 'sound_katze.mp3', - sound2: '' -}; -$scope.spiele.push(tier4); - - -var tier5 = { - id: 6, - bild: 'kuh.jpg', - sound1: 'sound_kuh.mp3', - sound2: '' -}; -$scope.spiele.push(tier5); - - -var tier6 = { - id: 7, - bild: 'maus.jpg', - sound1: 'sound_maus.mp3', - sound2: '' -}; -$scope.spiele.push(tier6); - - -var tier7 = { - id: 8, - bild: 'schaf.jpg', - sound1: 'sound_schaf.mp3', - sound2: '' -}; -$scope.spiele.push(tier7); - - -$scope.hilfe = function() { - $scope.showmentor=true; - $timeout(function () { - $scope.showmentor=false; - }, 3500); - $scope.sounds[$scope.randomid].play(); -} - -$scope.answer = function(src) { - - if (src==$scope.randomid){ - - $timeout(function () { - $scope.spiele=shuffleArray($scope.spiele); - $scope.chunkedData = chunk($scope.spiele, 4); - $timeout(function () { - $scope.spiele=shuffleArray($scope.spiele); - $scope.chunkedData = chunk($scope.spiele, 4); - $timeout(function () { - $scope.spiele=shuffleArray($scope.spiele); - $scope.chunkedData = chunk($scope.spiele, 4); - }, 500); - }, 500); - }, 500); - $scope.showmentorbravo=true; - $timeout(function () { - $scope.showmentorbravo=false; - $timeout(function () {$scope.showmentor=true;}, 1200); - }, 2400); - $scope.bravosound.play(); - } - else{ - $scope.falschsound.play(); - $scope.error = true; - $timeout(function () { - $scope.error = false; - }, 1000); - - - } - -} - - -var shuffleArray = function(array) { - var m = array.length, t, i; - - // While there remain elements to shuffle - while (m) { - // Pick a remaining element… - i = Math.floor(Math.random() * m--); - - // And swap it with the current element. - t = array[m]; - array[m] = array[i]; - array[i] = t; - } - - return array; -} - -function goto_newspiel() { - - $scope.showmentor=true; - - $scope.randomid = getRandomInt(1, 8); - //$scope.play('/android_asset/www/sounds/' + $scope.sounds[$scope.randomid]); - $timeout(function () { - $scope.showmentor=false; - }, 3500); - $scope.sounds[$scope.randomid].play(); -} - -function getRandomInt(min, max) { - var tmpInt=0; - min = Math.ceil(min); - max = Math.floor(max); - tmpInt = Math.floor(Math.random() * (max - min + 1)) + min; - - if (tmpInt > max){ - tmpInt=max; - } - - if (tmpInt < min){ - tmpInt=min; - } - - return tmpInt; -} - - -//4 Splaten Aufteilung - -function chunk(arr, size) { - var newArr = []; - for (var i=0; i
+