2011-12-28 12 views
7

Al intentar crear un juego utilizando Canvas noté algunos caprichos en los navegadores de tabletas/teléfonos.HTML5 Canvas (juego) en tabletas iPad/Android

1) ¿Cómo desactivo que el Lienzo sea seleccionable? Parece que cuando el usuario lo toca, resalta el lienzo y casi intenta seleccionarlo. Esto no es deseado.

2) Gestos de diapositivas del navegador. Algunos navegadores tienen gestos de diapositivas que anulan cualquier captura de movimiento hecha en el lienzo o página web. Esto es extremadamente molesto y no deseado también.

3) Control de lienzo con elementos de IU HTML. Observé que cuando hay un lienzo presente con otros elementos de la interfaz de usuario (como el texto), a veces, al hacer clic o arrastrar en el lienzo, se resalta una parte del HTML y se arrastran los elementos HTML en lugar de pulsar el lienzo.

¡Cualquier ayuda es muy apreciada! Esperaba que HTML5 fuera lo suficientemente maduro como para permitir una buena compatibilidad tanto en dispositivos móviles como de escritorio. La idea es poder codificar una vez y jugar en todas partes ... ¡gracias!

Respuesta

4

Esto debería solucionar sus problemas relativos al # 1 y # 3:

canvas.addEventListener('selectstart', function(e) { e.preventDefault(); return false; }, false); 

# 2 parece una pregunta muy independiente, pero nunca he tenido un problema con los gestos de deslizamiento anular cualquiera de mis cosas lienzo . Intente usar e.preventDefault(); al comienzo de sus eventos táctiles.

+0

Eres increíble. Esto funciona. Traté de buscar en Google la respuesta e incluso mirar bibliotecas de terceros y no pude encontrar esta única línea de código. Espero que ayude a otros. – Adam

+0

Intenté esto, pero no cambió nada en Android: al tocar en cualquier parte del lienzo, todavía se seleccionó todo. – Cbas