new file: Files/flashplayer_32_sa.exe new file: favicon.ico new file: globe.gif new file: imgs/download.png new file: imgs/zuck.jpg new file: index.html new file: other.ico new file: script.js new file: site.webmanifest new file: sitemap.html new file: styles/backround.css new file: styles/border.css new file: styles/fonts/Titillium_Web/OFL.txt new file: styles/fonts/Titillium_Web/TitilliumWeb-Black.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Bold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-BoldItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Italic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Light.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-LightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Regular.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBoldItalic.ttf new file: styles/fonts/webfontkit-20221027-163353/generator_config.txt new file: styles/fonts/webfontkit-20221027-163353/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-163353/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-demo.html new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff2 new file: styles/fonts/webfontkit-20221027-165950/generator_config.txt new file: styles/fonts/webfontkit-20221027-165950/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-165950/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-demo.html new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff2 new file: styles/style.css new file: tools/2048/.gitignore new file: tools/2048/.jshintrc new file: tools/2048/CONTRIBUTING.md new file: tools/2048/LICENSE.txt new file: tools/2048/README.md new file: tools/2048/Rakefile new file: tools/2048/favicon.ico new file: tools/2048/index.html new file: tools/2048/js/animframe_polyfill.js new file: tools/2048/js/application.js new file: tools/2048/js/bind_polyfill.js new file: tools/2048/js/classlist_polyfill.js new file: tools/2048/js/game_manager.js new file: tools/2048/js/grid.js new file: tools/2048/js/html_actuator.js new file: tools/2048/js/keyboard_input_manager.js new file: tools/2048/js/local_storage_manager.js new file: tools/2048/js/tile.js new file: tools/2048/meta/apple-touch-icon.png new file: tools/webretro/cores/neocd_libretro.js new file: tools/webretro/cores/neocd_libretro.wasm new file: tools/webretro/cores/nestopia_libretro.js new file: tools/webretro/cores/nestopia_libretro.wasm new file: tools/webretro/cores/o2em_libretro.js new file: tools/webretro/cores/o2em_libretro.wasm new file: tools/webretro/cores/opera_libretro.js new file: tools/webretro/cores/opera_libretro.wasm
72 lines
1.8 KiB
CoffeeScript
72 lines
1.8 KiB
CoffeeScript
###
|
|
OrientationController (Orientation + buttons) for touch devices
|
|
|
|
@class bkcore.OrientationController
|
|
@author Thibaut 'BKcore' Despoulain <http://bkcore.com>
|
|
###
|
|
class OrientationController
|
|
|
|
@isCompatible: ->
|
|
return ('DeviceOrientationEvent' of 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
|
|
###
|
|
constructor: (@dom, @registerTouch=true, @touchCallback=null) ->
|
|
@active = true
|
|
@alpha = 0.0
|
|
@beta = 0.0
|
|
@gamma = 0.0
|
|
@dalpha = null
|
|
@dbeta = null
|
|
@dgamma = null
|
|
@touches = null
|
|
|
|
window.addEventListener('deviceorientation', ((e)=> @orientationChange(e)), false)
|
|
if @registerTouch
|
|
@dom.addEventListener('touchstart', ((e)=> @touchStart(e)), false)
|
|
@dom.addEventListener('touchend', ((e)=> @touchEnd(e)), false)
|
|
|
|
###
|
|
@private
|
|
###
|
|
orientationChange: (event) ->
|
|
return if not @active
|
|
if(@dalpha == null)
|
|
console.log "calbrate", event.beta
|
|
@dalpha = event.alpha
|
|
@dbeta = event.beta
|
|
@dgamma = event.gamma
|
|
@alpha = event.alpha - @dalpha
|
|
@beta = event.beta - @dbeta
|
|
@gamma = event.gamma - @dgamma
|
|
false
|
|
|
|
###
|
|
@private
|
|
###
|
|
touchStart: (event) ->
|
|
return if not @active
|
|
for touch in event.changedTouches
|
|
@touchCallback?(on, touch, event)
|
|
@touches = event.touches
|
|
false
|
|
|
|
###
|
|
@private
|
|
###
|
|
touchEnd: (event) ->
|
|
return if not @active
|
|
for touch in event.changedTouches
|
|
@touchCallback?(on, touch, event)
|
|
@touches = event.touches
|
|
false
|
|
|
|
exports = exports ? @
|
|
exports.bkcore ||= {}
|
|
exports.bkcore.controllers ||= {}
|
|
exports.bkcore.controllers.OrientationController = OrientationController |