mirror of
https://github.com/flynx/Slang.git
synced 2025-10-29 18:50:08 +00:00
fixed disabled touch events...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
eb8d2f459f
commit
72053b0dd4
@ -2,6 +2,6 @@ CACHE MANIFEST
|
|||||||
# Last Modified: 2017 Apr 14
|
# Last Modified: 2017 Apr 14
|
||||||
|
|
||||||
CACHE:
|
CACHE:
|
||||||
simplesnake.html
|
|
||||||
simplesnake.css
|
simplesnake.css
|
||||||
simplesnake.js
|
simplesnake.js
|
||||||
|
simplesnake.html
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
<title>Simple Snake</title>
|
<title>Simple Snake</title>
|
||||||
|
|
||||||
<meta charset="utf-8"/>
|
<meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
|
||||||
|
|
||||||
<link rel="stylesheet" href="simplesnake.css">
|
<link rel="stylesheet" href="simplesnake.css">
|
||||||
<script src="simplesnake.js"></script>
|
<script src="simplesnake.js"></script>
|
||||||
|
|||||||
@ -327,7 +327,10 @@ var Snake = {
|
|||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
var HANDLER_SET = false
|
var __HANDLER_SET = false
|
||||||
|
var __DEBOUNCE_TIMEOUT = 100
|
||||||
|
var __DEBOUNCE = false
|
||||||
|
|
||||||
var KEY_CONFIG = {
|
var KEY_CONFIG = {
|
||||||
' ': ['pause'],
|
' ': ['pause'],
|
||||||
ArrowLeft: ['left'],
|
ArrowLeft: ['left'],
|
||||||
@ -336,7 +339,6 @@ var KEY_CONFIG = {
|
|||||||
Left: ['left'],
|
Left: ['left'],
|
||||||
Right: ['right'],
|
Right: ['right'],
|
||||||
}
|
}
|
||||||
|
|
||||||
function makeKeyboardHandler(snake){
|
function makeKeyboardHandler(snake){
|
||||||
return function(event){
|
return function(event){
|
||||||
clearHints()
|
clearHints()
|
||||||
@ -344,8 +346,16 @@ function makeKeyboardHandler(snake){
|
|||||||
action
|
action
|
||||||
&& action[0] in snake
|
&& action[0] in snake
|
||||||
&& snake[action[0]].apply(snake, action.slice(1)) }}
|
&& snake[action[0]].apply(snake, action.slice(1)) }}
|
||||||
|
|
||||||
function makeTapHandler(snake){
|
function makeTapHandler(snake){
|
||||||
return function(event){
|
return function(event){
|
||||||
|
// prevent clicks and touches from triggering the same action
|
||||||
|
// twice -- only handle the first one within timeout...
|
||||||
|
// NOTE: this should not affect events of the same type...
|
||||||
|
if(__DEBOUNCE && event.type != __DEBOUNCE){ return }
|
||||||
|
__DEBOUNCE = event.type
|
||||||
|
setTimeout(function(){ __DEBOUNCE = false }, __DEBOUNCE_TIMEOUT)
|
||||||
|
|
||||||
clearHints()
|
clearHints()
|
||||||
// top of screen (1/8)...
|
// top of screen (1/8)...
|
||||||
;(event.clientY || event.changedTouches[0].pageY) <= (document.body.clientHeight / 8) ?
|
;(event.clientY || event.changedTouches[0].pageY) <= (document.body.clientHeight / 8) ?
|
||||||
@ -357,6 +367,7 @@ function makeTapHandler(snake){
|
|||||||
: (event.clientX || event.changedTouches[0].pageX) <= (document.body.clientWidth / 2) ?
|
: (event.clientX || event.changedTouches[0].pageX) <= (document.body.clientWidth / 2) ?
|
||||||
Snake.left()
|
Snake.left()
|
||||||
: Snake.right() }}
|
: Snake.right() }}
|
||||||
|
|
||||||
function clearHints(){
|
function clearHints(){
|
||||||
document.body.classList.contains('hints')
|
document.body.classList.contains('hints')
|
||||||
&& document.body.classList.remove('hints') }
|
&& document.body.classList.remove('hints') }
|
||||||
@ -370,11 +381,11 @@ function setup(snake, timer, size){
|
|||||||
snake = snake || Snake
|
snake = snake || Snake
|
||||||
|
|
||||||
// setup event handlers (only once)...
|
// setup event handlers (only once)...
|
||||||
if(!HANDLER_SET){
|
if(!__HANDLER_SET){
|
||||||
document.addEventListener('keydown', makeKeyboardHandler(snake))
|
document.addEventListener('keydown', makeKeyboardHandler(snake))
|
||||||
//document.addEventListener('touchstart', makeTapHandler(snake))
|
document.addEventListener('touchstart', makeTapHandler(snake))
|
||||||
document.addEventListener('mousedown', makeTapHandler(snake))
|
document.addEventListener('mousedown', makeTapHandler(snake))
|
||||||
HANDLER_SET = true
|
__HANDLER_SET = true
|
||||||
|
|
||||||
/*/ cache updater...
|
/*/ cache updater...
|
||||||
// XXX needs more work...
|
// XXX needs more work...
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user