Вход Регистрация
Файл: Space race/bkcore.coffee/controllers/OrientationController.js
Строк: 151
<?php
// Generated by CoffeeScript 1.4.0

/*
  OrientationController (Orientation + buttons) for touch devices
  
  @class bkcore.OrientationController
  @author Thibaut 'BKcore' Despoulain <http://bkcore.com>
*/


(function() {
  var 
OrientationControllerexports_base;

  
OrientationController = (function() {

    
OrientationController.isCompatible = function() {
      return 
'DeviceOrientationEvent' in window;
    };

    
/*
        Creates a new OrientationController
    
        @param dom DOMElement The element that will listen to touch events
        @param registerTouch bool Enable touch detection
        @param touchCallback function Callback for touches
    */


    
function OrientationController(domregisterTouchtouchCallback) {
      var 
_this this;
      
this.dom dom;
      
this.registerTouch registerTouch != null registerTouch true;
      
this.touchCallback touchCallback != null touchCallback null;
      
this.active true;
      
this.alpha 0.0;
      
this.beta 0.0;
      
this.gamma 0.0;
      
this.dalpha null;
      
this.dbeta null;
      
this.dgamma null;
      
this.touches null;
      
window.addEventListener('deviceorientation', (function(e) {
        return 
_this.orientationChange(e);
      }), 
false);
      if (
this.registerTouch) {
        
this.dom.addEventListener('touchstart', (function(e) {
          return 
_this.touchStart(e);
        }), 
false);
        
this.dom.addEventListener('touchend', (function(e) {
          return 
_this.touchEnd(e);
        }), 
false);
      }
    }

    
/*
        @private
    */


    
OrientationController.prototype.orientationChange = function(event) {
      if (!
this.active) {
        return;
      }
      if (
this.dalpha === null) {
        
console.log("calbrate"event.beta);
        
this.dalpha event.alpha;
        
this.dbeta event.beta;
        
this.dgamma event.gamma;
      }
      
this.alpha event.alpha this.dalpha;
      
this.beta event.beta this.dbeta;
      
this.gamma event.gamma this.dgamma;
      return 
false;
    };

    
/*
        @private
    */


    
OrientationController.prototype.touchStart = function(event) {
      var 
touch_i_len_ref;
      if (!
this.active) {
        return;
      }
      
_ref event.changedTouches;
      for (
_i 0_len _ref.length_i _len_i++) {
        
touch _ref[_i];
        if (
typeof this.touchCallback === "function") {
          
this.touchCallback(truetouchevent);
        }
      }
      
this.touches event.touches;
      return 
false;
    };

    
/*
        @private
    */


    
OrientationController.prototype.touchEnd = function(event) {
      var 
touch_i_len_ref;
      if (!
this.active) {
        return;
      }
      
_ref event.changedTouches;
      for (
_i 0_len _ref.length_i _len_i++) {
        
touch _ref[_i];
        if (
typeof this.touchCallback === "function") {
          
this.touchCallback(truetouchevent);
        }
      }
      
this.touches event.touches;
      return 
false;
    };

    return 
OrientationController;

  })();

  
exports exports != null exports this;

  
exports.bkcore || (exports.bkcore = {});

  (
_base exports.bkcore).controllers || (_base.controllers = {});

  
exports.bkcore.controllers.OrientationController OrientationController;

}).
call(this);
?>
Онлайн: 1
Реклама