Código de JavaScript - Animacion con Sprite Sheets

Imágen de perfil
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Animacion con Sprite Sheetsgráfica de visualizaciones


JavaScript

Actualizado el 25 de Abril del 2017 por Alejandro (9 códigos) (Publicado el 14 de Marzo del 2017)
10.451 visualizaciones desde el 14 de Marzo del 2017
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
pacman12
Un Pac-man que caminar a izquierda o derecha segun la tecla pulsada, salta al presionar la barra espaciadora y corre con ctrl. Participa un gato al que hay que evitar y ademas hay presencia de sonidos.

Es un sencillo ejemplo donde se ve animacion con el uso de Sprite Sheets, interaccion con el teclado, colisiones y reproduccion de sonido, escencias basicas para el desarollo de videojuegos :D

1.0
estrellaestrellaestrellaestrellaestrella(6)

Actualizado el 10 de Julio del 2017 (Publicado el 14 de Marzo del 2017)gráfica de visualizaciones de la versión: 1.0
3.793 visualizaciones desde el 14 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Este es el escenario
Escenario

Esta es el personaje.
Sprite
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<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>



Comentarios sobre la versión: 1.0 (6)

Imágen de perfil
15 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
Impresionante Manuel!!!
Responder
Imágen de perfil
15 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
¿Manuel?
Responder
15 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
bas mejorando
Responder
15 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
has que brinque plis!!!
Responder
Imágen de perfil
15 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
Ya salta :D
Responder
Imágen de perfil
15 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

1.1
estrellaestrellaestrellaestrellaestrella(5)

Actualizado el 5 de Mayo del 2017 (Publicado el 15 de Marzo del 2017)gráfica de visualizaciones de la versión: 1.1
1.527 visualizaciones desde el 15 de Marzo del 2017

1.2
estrellaestrellaestrellaestrellaestrella(3)

Actualizado el 21 de Junio del 2017 (Publicado el 25 de Abril del 2017)gráfica de visualizaciones de la versión: 1.2
5.132 visualizaciones desde el 25 de Abril del 2017
http://lwp-l.com/s3919