Crea tus Juegos con 8BP

8BP: A través de ROUTESP, podemos colocar un Sprite en mitad de una ruta

Seguimos aprendiendo con el curso de 8bp

3.3
(9)

Hola amigos de 8 bits de poder. en este capítulo de nuestro curso veremos cómo colocar un sprite en mitad de una ruta con el comando ROUTESP, para nuestro futuro juego en el Amstrad CPC, sencillo, fácil y para toda la familia… ¡Vamos al lío!

Si asignas a varios sprites la misma ruta y quieres que vayan todos en fila india como el ejemplo anterior, entonces necesitas ingeniárselas para que cada Sprite se encuentre en un punto diferente de la ruta. Para ello existe puedes usar dos alternativas

La primera consiste en ir asignando poco a poco la ruta a los sprites. De ese modo, el sprite que va en cabeza es el primero en ser enrutado y tras unos cuantos ciclos de juego enrutas al siguiente y mas tarde al siguiente, etc. En cada ciclo ejecutas AUTOALL,1 y eso enruta a los sprites que ya tengan ruta asignada, que se van adelantando en el numero de pasos respecto de los sprites que aun no la tienen asignada.

Uso del comando ROUTESP

La segunda opción consiste en usar el el comando ROUTESP

|ROUTESP, <spriteid>, <pasos>

Este comando mueve un sprite el número de pasos que desees (hasta 255 pasos) a lo largo de la ruta que tenga asignada. En el ejemplo he destacado en rojo la asignación de la ruta 8 y los comandos ROUTESP que posicionan cada uno de los sprites en la ruta.

Fantastico-8BP

Pero espera… ¿Es posible que no sepas nada de 8 Bits de Poder? Puedes leer el primer artículo del curso de programación en Amstrad CPC de 8BP.

10 memory 23999
10 ON BREAK GOSUB 12
11 GOTO 20
12 |MUSIC:CALL &BC02:PAPER 0:PEN 1:MODE 1:END
20 CALL &BC02:DEFINT A-Z:MODE 0
50 CALL &6B78
70 ' todas las naves colocada en la misma coordenada inicial
75 ' y con la misma ruta pero con un numero inicial de pasos distinto
76 locate 2,3: Print "comando |ROUTESP "
80 for s=16 to 21: |SETUPSP,s,9,33: |SETUPSP,s,0,137: |SETUPSP,s,15,8:|LOCATESP,s,20,100:next
90 s=21:|ROUTESP,s,40:'nave cabeza
100 s=20:|ROUTESP,s,30
110 s=19:|ROUTESP,s,20
120 s=18:|ROUTESP,s,10
130 s=17:|ROUTESP,s,0
131 |PRINTSPALL,0,0,0
140 '- – ciclo de juego – -
150 |AUTOALL,1:|PRINTSPALL
160 goto 150
routesp
Naves en hilera gracias al uso de ROUTESP

La ruta 8 estaría definida en el fichero routes_mygame.asm tal como sigue:

ROUTE8; 
	db 255, 128+64+32+8+1,0; cambio de estado
	db 70,1,-1
	db 10,3,-1
	db 5,3,0
	db 5,3,1
	db 5,0,1
	db 20,-3,1
	db 5,0,1
	db 5,3,1
	db 5,3,0
	db 10,3,-1
	db 5,0,-1
	db 20,-3,-1
	db 40,-1,-1
	; recolocacion
	db 1,0,115
	db 1,-30,0
	db 120,0,0
	db 120,0,0
	db 0

En la siguiente entrega del curso veremos cómo crear rutas avanzadas con 8BP.

Hasta aquí hemos llegado por hoy con el curso de programación en Amstrad CPC de 8 Bits de Poder. Si tienes alguna duda puedes escribir en comentarios y te contestaré lo antes posible.

Todos los recursos, como manuales, ejemplos y juegos compilados de este curso los puedes encontrar en el repositorio Github de 8BP.

Hasta la semana que viene amigos 😄

¿Te ha Resultado útil este artículo?

Ayúdanos a mejorar y danos tu opinión:

Mostrar más

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicaciones relacionadas

Botón volver arriba