<head>
<script language="javascript" type="text/javascript">
var ciclos=0;
var iteraciones=1;
/* CONTROLES */
var KEY_LEFT = 37;
var KEY_UP = 38;
var KEY_RIGHT = 39;
var KEY_DOWN = 40;
var aTecla = [];
var nDireccion = 32
window.onload=function(){ canvas=document.getElementById("miCanvas"); canvas.width = 640;
canvas.height= 480;
if(canvas && canvas.getContext){ ctx = canvas.getContext("2d"); if(ctx){ imgEscenario= new Image();
imgEscenario.src="Escenario.png";
imgEscenario.onload=function(){ imagen=new Image();
imagen.src="sprite.png";
imagen.onload=function(){ anima();
}
}
}else{ alert("Error al crear el contexto"); }
}
}
var x=0;
function anima(){ requestAnimationFrame(anima);
if(aTecla[KEY_LEFT] || aTecla[KEY_RIGHT]){ if(ciclos>3){ if(iteraciones>8){ iteraciones=1;
}
ctx.clearRect(0,0,canvas.width,canvas.height);
if(aTecla[KEY_LEFT]){ nDireccion=0;
x+=13;
if(x>=canvas.width) x=0;
ctx.drawImage(imgEscenario, 0,0 , imgEscenario.width,imgEscenario.height, -canvas.width+x,0 , canvas.width,canvas.height);
ctx.drawImage(imgEscenario, 0,0 , imgEscenario.width,imgEscenario.height, x,0 , canvas.width,canvas.height);
ctx.drawImage(imgEscenario, 0,0 , imgEscenario.width,imgEscenario.height, canvas.width+x,0 , canvas.width,canvas.height);
ctx.drawImage(imagen, 32*iteraciones,nDireccion , 31,31 , canvas.width/2-64,canvas.height-230, 96,96);
}
else if(aTecla[KEY_RIGHT]){ nDireccion=32;
x-=13;
if(x<=-canvas.width) x=0;
ctx.drawImage(imgEscenario, 0,0 , imgEscenario.width,imgEscenario.height, -canvas.width+x,0 , canvas.width,canvas.height);
ctx.drawImage(imgEscenario, 0,0 , imgEscenario.width,imgEscenario.height, x,0 , canvas.width,canvas.height);
ctx.drawImage(imgEscenario, 0,0 , imgEscenario.width,imgEscenario.height, canvas.width+x,0 , canvas.width,canvas.height);
ctx.drawImage(imagen, 32*iteraciones,nDireccion , 31,31 , canvas.width/2-64,canvas.height-230, 96,96);
}
iteraciones++;
ciclos=0;
}else{ ciclos++;
}
}else{ ctx.clearRect(0,0,canvas.width,canvas.height);
ctx.drawImage(imgEscenario, 0,0 , imgEscenario.width,imgEscenario.height, -canvas.width+x,0 , canvas.width,canvas.height);
ctx.drawImage(imgEscenario, 0,0 , imgEscenario.width,imgEscenario.height, x,0 , canvas.width,canvas.height);
ctx.drawImage(imgEscenario, 0,0 , imgEscenario.width,imgEscenario.height, canvas.width+x,0 , canvas.width,canvas.height);
ctx.drawImage(imagen, 0,nDireccion , 31,31 , canvas.width/2-64,canvas.height-230, 96,96);
}
}
document.addEventListener("keydown",function(e){ aTecla[e.keyCode]=true
});
document.addEventListener("keyup",function(e){ aTecla[e.keyCode]=false;
iteraciones=0;
ciclos=2;
});
</script>
</head>
<body>
<div>
<canvas id="miCanvas"></canvas>
</div>
</body>
Esta es el personaje.