[Piano]update Piano(tizen_2.1)
authorji.ji <ji.ji@samsung.com>
Thu, 23 May 2013 06:55:32 +0000 (15:55 +0900)
committerji.ji <ji.ji@samsung.com>
Thu, 23 May 2013 06:55:32 +0000 (15:55 +0900)
Change-Id: I0f74e0ee9e600cf784557f8f67edd94aed673427

icon.png
index.html
js/main.js

index 33fbb63..9765b1b 100644 (file)
Binary files a/icon.png and b/icon.png differ
index 2d728be..4a99609 100755 (executable)
@@ -8,21 +8,21 @@
 </head>
 
 <body ondragstart="return false" onselectstart="return false">
-       <div class="white_btn" id="play0"></div>
-       <div class="white_btn" id="play2"></div>
-       <div class="white_btn" id="play4"></div>
-       <div class="white_btn" id="play5"></div>
-       <div class="white_btn" id="play7"></div>
-       <div class="white_btn" id="play9"></div>
-       <div class="white_btn" id="play11"></div>
-       <div class="white_btn" id="play12"></div>
+       <div class="button white_btn" id="play0"></div>
+       <div class="button white_btn" id="play2"></div>
+       <div class="button white_btn" id="play4"></div>
+       <div class="button white_btn" id="play5"></div>
+       <div class="button white_btn" id="play7"></div>
+       <div class="button white_btn" id="play9"></div>
+       <div class="button white_btn" id="play11"></div>
+       <div class="button white_btn" id="play12"></div>
 
-       <div class="black_btn" style="left: 8.6%" id="play1"></div>
-       <div class="black_btn" style="left: 21.2%" id="play3"></div>
-       <div class="black_btn" style="left: 45.8%" id="play6"></div>
-       <div class="black_btn" style="left: 58.4%" id="play8"></div>
-       <div class="black_btn" style="left: 70.9%" id="play10"></div>
-       <div class="black_btn" style="left: 95%" id="play13"></div>
+       <div class="button black_btn" style="left: 8.6%" id="play1"></div>
+       <div class="button black_btn" style="left: 21.2%" id="play3"></div>
+       <div class="button black_btn" style="left: 45.8%" id="play6"></div>
+       <div class="button black_btn" style="left: 58.4%" id="play8"></div>
+       <div class="button black_btn" style="left: 70.9%" id="play10"></div>
+       <div class="button black_btn" style="left: 95%" id="play13"></div>
 
        <div class="header">
                <div id="back"></div>
index da7cbef..99dc081 100644 (file)
  */
 
 /*jslint devel: true*/
-/*global tizen, $, app: true */
-
-var App = null, app = null;
-
-(function () { // strict mode wrapper
-       'use strict';
-
-       /**
-        * Creates a new application object
-        *
-        * @class Application
-        */
-       App = function App() {
-               this.init();
-       };
-
-       App.prototype = {
-               /**
-                * @type {Array}
-                */
-               audio: [],
-
-               /**
-                * @type {Array}
-                */
+/*global $, Audio, window, tizen, app: true */
+var piano;
+function Piano() {
+       "use strict";
+}
+
+(function () {
+       "use strict";
+       Piano.prototype = {
                touchPianoKey: [],
+               audio: []
+       };
 
-               /**
-                * Initialization
-                */
-               init: function App_init() {
-                       this.bindEvents();
-                       this.audioInit();
-               },
-
-               /**
-                * binds application events
-                */
-               bindEvents: function bindEvents() {
-                       $(document).bind('touchstart touchmove', this.onPianoKeyTouchDown.bind(this));
-                       $(document).bind('touchend', this.onPianoKeyTouchUp.bind(this));
-
-                       $('#back').bind('touchstart', function (event) {
-                               event.preventDefault();
-                               event.stopPropagation();
-                               $(this).addClass('active');
-                               tizen.application.getCurrentApplication().exit();
-                       });
-
-                       $('#back').bind('touchend', function (event) {
-                               $(this).removeClass('active');
-                       });
-               },
+       Piano.prototype.bindEvents = function bindEvents() {
+               var self = this;
+
+               $(".button").bind('touchstart touchmove', function (e) { self.onPianoKeyTouchDown(e); });
+               $(".button").bind('touchend', function (e) { self.onPianoKeyTouchUp(e); });
+               $('#back').bind('touchstart', function (event) {
+                       event.preventDefault();
+                       event.stopPropagation();
+                       $(this).addClass('active');
+                       tizen.application.getCurrentApplication().exit();
+               });
+
+               $('#back').bind('touchend', function (event) {
+                       $(this).removeClass('active');
+               });
+       };
 
-               onPianoKeyTouchDown: function onPianoKeyTouchDown(data) {
-                       data.originalEvent.preventDefault();
-                       var element, touch, i, len;
-                       for (i = 0, len = data.originalEvent.changedTouches.length; i < len; i += 1) {
-                               touch = data.originalEvent.changedTouches[i];
-                               element = document.elementFromPoint(touch.clientX, touch.clientY);
-                               if (element) {
-                                       if (this.touchPianoKey[touch.identifier] !== element.id) {
-                                               $('#' + this.touchPianoKey[touch.identifier]).removeClass('pressed');
-                                               this.playAudioByElement(element, touch.identifier);
-                                       }
+       Piano.prototype.onPianoKeyTouchDown = function onPianoKeyTouchDown(data) {
+               data.originalEvent.preventDefault();
+               var element, touch, i, len;
+               for (i = 0, len = data.originalEvent.changedTouches.length; i < len; i += 1) {
+                       touch = data.originalEvent.changedTouches[i];
+                       element = document.elementFromPoint(touch.clientX, touch.clientY);
+                       if (element) {
+                               if (this.touchPianoKey[touch.identifier] !== element.id) {
+                                       $('#' + this.touchPianoKey[touch.identifier]).removeClass('pressed');
+                                       this.playAudioByElement(element, touch.identifier);
                                }
                        }
-               },
-
-               onPianoKeyTouchUp: function onPianoKeyTouchUp(data) {
-                       var i, touchId, len;
-                       for (i = 0, len = data.originalEvent.changedTouches.length; i < len; i += 1) {
-                               touchId = data.originalEvent.changedTouches[i].identifier;
+               }
+       };
 
-                               $('#' + this.touchPianoKey[touchId]).removeClass('pressed');
-                               this.touchPianoKey[touchId] = undefined;
-                       }
-               },
+       Piano.prototype.onPianoKeyTouchUp = function onPianoKeyTouchUp(data) {
+               var i, touchId, len;
+               for (i = 0, len = data.originalEvent.changedTouches.length; i < len; i += 1) {
+                       touchId = data.originalEvent.changedTouches[i].identifier;
+                       $('#' + this.touchPianoKey[touchId]).removeClass('pressed');
+                       this.touchPianoKey[touchId] = undefined;
+               }
+       };
 
-               audioInit: function audioInit() {
-                       var i;
-                       for (i = 0; i <= 13; i += 1) {
-                               this.audio[i] = document.createElement('audio');
-                               this.audio[i].name = i;
-                       }
-               },
+       Piano.prototype.audioInit = function audioInit() {
+               var i;
+               for (i = 0; i <= 13; i += 1) {
+                       this.audio[i] = document.createElement('audio');
+                       this.audio[i].name = i;
+               }
+       };
 
-               /**
-                * Plays sound for specified element
-                * @param {Object} element
-                * @param {Number} touchId
-                */
-               playAudioByElement: function playAudioByElement(element, touchId) {
-                       var nrAudio = parseInt(element.id.replace(/[a-zA-Z]*/, ''), 10);
-                       $(element).addClass('pressed');
-                       this.touchPianoKey[touchId] = element.id;
-                       if (this.audio[nrAudio]) {
-                               if (this.audio[nrAudio].src) {
-                                       this.audio[nrAudio].pause();
-                                       this.audio[nrAudio].currentTime = 0;
-                               } else {
-                                       this.audio[nrAudio].src = this.audio[nrAudio].name + ".wav";
-                               }
-                               this.audio[nrAudio].play();
+       /**
+        * Plays sound for specified element
+        * @param {Object} element
+        * @param {Number} touchId
+        */
+       Piano.prototype.playAudioByElement = function playAudioByElement(element, touchId) {
+               var nrAudio = parseInt(element.id.replace(/[a-zA-Z]*/, ''), 10);
+               $(element).addClass('pressed');
+               this.touchPianoKey[touchId] = element.id;
+               if (this.audio[nrAudio]) {
+                       if (this.audio[nrAudio].src) {
+                               this.audio[nrAudio].pause();
+                               this.audio[nrAudio].currentTime = 0;
+                       } else {
+                               this.audio[nrAudio].src = this.audio[nrAudio].name + ".wav";
                        }
+                       this.audio[nrAudio].play();
                }
        };
+
+       Piano.prototype.init = function init() {
+               this.bindEvents();
+               this.audioInit();
+       };
 }());
 
+piano = new Piano();
 $(document).ready(function () {
-       'use strict';
-       app = new App();
+       "use strict";
+       piano.init();
 });