Foros del Web » Programando para Internet » Javascript »

Mover ficha dentro de canvas

Estas en el tema de Mover ficha dentro de canvas en el foro de Javascript en Foros del Web. Hola buenas tardes quería enseñaros mi codigo a ver si me podeis echar una mano. Lo que intento conseguir es que tengo las 16 fichas ...
  #1 (permalink)  
Antiguo 23/02/2014, 13:50
 
Fecha de Ingreso: febrero-2014
Ubicación: valencia
Mensajes: 2
Antigüedad: 10 años, 2 meses
Puntos: 1
Mover ficha dentro de canvas

Hola buenas tardes quería enseñaros mi codigo a ver si me podeis echar una mano.

Lo que intento conseguir es que tengo las 16 fichas del parchis dentro del canvas cada una con su propio nombre y lo que quiero es que al pinchar en una de ella la pueda mover donde yo quiera del tablero que es el bg del canvas, es decir pincho en ficha verde arrastro al numero 2, e conseguido redibujar pero me lo redibuja muchas veces y me hago un lio.

gracias

var fichaa3 = new Image();
fichaa3.onload = function(){
contexto.drawImage(fichaa3,425,428);
}
fichaa3.src = 'images/ficha_azul.png';

(Asi es como dibujo todas las fichas repitiendo el codigo 16 veces )

var actualPos;
var isMove=false;

var canvasLimites=canvas.getBoundingClientRect();
canvas.addEventListener('mousedown',cambiarEstado, false);
canvas.addEventListener('mouseup',cambiarEstado,fa lse);
canvas.addEventListener('mousemove',moverImagen,fa lse);
canvas.style.cursor="hand";

function moverImagen(){

if(isMove){
actualPos=obtenerCoordenadas(event);
// contexto.clearRect(0,0,canvas.width,canvas.height) ;
contexto.drawImage(fichav1,actualPos.x-(fichav1.width/2),actualPos.y-(fichav1.height/2));
}

}

function cambiarEstado(){
isMove=!isMove;
actualPos=obtenerCoordenadas(event);
}

function obtenerCoordenadas(event){
var posX;
var posY;

if (event.pageX || event.pageY) {
posX = event.pageX- canvasLimites.left;
posY = event.pageY- canvasLimites.top;
}
else {
posX = event.clientX - canvasLimites.left;
posY = event.clientY - canvasLimites.top;
}

return {
x:posX,
y:posY
};
}

Esta es la funcion que utilizo para mover pero no hace lo que yo quiero..
  #2 (permalink)  
Antiguo 07/03/2014, 13:09
Avatar de gvite666  
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años
Puntos: 4
Respuesta: Mover ficha dentro de canvas

amigo se que es bueno saber las bases de todas las cosas, se que es muy divertido hacer las cosas nativamente, pero si hay algo que tambien se es que entre mas rapido seas haciendo las cosas eres mas eficiente en tu trabajo y resulta mejor en todos lados, asi que mira esta pagina tal vez te pueda ayudar en lo que quieres, es una libreria de canvas y hace cosas maravillosas.
http://fabricjs.com/. Saludos.
__________________
No pienses si no vas a actuar.

Etiquetas: canvas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:53.