Você está na página 1de 6

JUEGO MULTIJUGADOR

Creacin del proyecto


Crear un nuevo proyecto. Para este tutorial, vamos a utilizar la plataforma nativa , ya que tiene la
extensin de la red y la plataforma web no lo hace. Haz clic en proyecto vaco y elegir el camino
en el que vas a guardar el proyecto:

Extensiones
Necesitaremos 4 extensiones:

Prestaciones de la red (para el modo multijugador )


Cuadros de dilogo comunes ( para escribir en la ip , ect )
Objeto de texto ( para el " Preparados... listos ... ya ! " Texto )
Baldosa Sprites (por la carretera y el fondo)

Grficos
Necesitamos imgenes para hacer que el juego . Los grficos que se utilizan son voiture2nd.png ,
voiture.png , police.png , LargeGrass.png , finishline.png , RouteHorizontale.png ,
RouteVerticale.png y 2dSmallWoodBox.jpg.

Adicin de pistas y Antecedentes


A continuacin, pasar al siguiente paso: Crear un nuevo Sprite alicatado denominado Fondo .
Utiliza LargeGrass.png para el grfico . Vamos a aadir por ltimo el fondo, porque no sabemos
qu tan grande ser la pista. Ahora , crear otros dos sprites de baldosas y nombrarlos
RoadHorizontal y RoadVertical. Usa RouteHorizontale.png y RouteVerticale.png para los sprites .
No haremos la pista todava. Adems, lo siento, pero juego no proporciona carreteras curvas, as
que tienes que poner los caminos horizontales y verticales junto al otro para hacer una "curva ".
Coches y direccin
Haz que tu teclado sea el volante. En primer lugar, aadir dos nuevos sprites . Llmalos Car y
Car2 . Utilice voiture.png y voiture2nd.png para los grficos de automviles. Ahora arrastra el
objeto 2 en la escena. Abre la ventana de edicin de sprites y haz clic, en Editar mscara de
colisin.
Bien, ahora vamos a editar la mscara de colisin. Eliminar la vieja mscara de colisin. Eliminar
tambin. Ahora haga clic en el botn de la esquina superior izquierda de la pantalla. Un saldr un
dilogo. Introduce 61 para el primero y 26 para el segundo . Haz lo mismo para Car2 . Estamos
haciendo una nueva mscara de colisin debido a que la colisin no funciona de forma perfecta
con sprites contra sprites de baldosas , y la mscara de colisin original es demasiado grande
para los coches.

Ahora , vamos a empezar a trabajar en los eventos . Ir a la pgina del evento y crear unas 4
eventos nuevos :
Si se pulsa la tecla arriba , aadir al coche una fuerza, ngulo : Car.Angle () grados y
longitud: 300 pxeles
Esto mueve el coche hacia adelante al pulsar tecla de aumento y tambin permite la

direccin.
Si se pulsa la tecla abajo, aadir a coche una fuerza, ngulo : Car.Angle () + 180 grados y
longitud: 100 pxeles
Esto mueve el coche hacia atrs cuando se presiona hacia abajo. Se ve afectada por la
direccin del coche .
Si se pulsa la tecla izquierda, hacer -200 * timedelta () para el ngulo de coche.
Esto permite dirigir a la izquierda con la tecla izquierda. Tiempo delta permite que los
eventos se ejecuten siempre la misma velocidad por lo que incluso si su fps es de 10.
Si se pulsa la tecla derecha, hacer + 200 * timedelta () para el ngulo de coche.
El mismo concepto que direccin a la izquierda, slo que opuesta.

Polica
Vamos a aadir los coches de polica a la ecuacin. Aadir 2 nuevos sprites y usando police.png
como grfico . Cambie sus mscaras de colisin a 61, 26 .

Haz que vayan un poco detrs de los coches de carreras:


Siempre, aadir a la polica una fuerza, ngulo : Police.Angle () grados y longitud: 250 pxeles ,
aadir a polica2 una fuerza, ngulo : Police2.Angle () grados y longitud: 250 pxeles , gira hacia
el Car: Car.PointX (Centro ) ; Car.PointY (Centro ) en 0deg velocidad / segundo , gira hacia Car2:
Car2.PointX (Centro ) ; Car2.PointY (Centro ) en 0deg velocidad / segundo
Esto mueve la polica hacia el Car y polica2 hacia car2.
Ganar y Perder
Crea una nueva variable denominada escena victoria. Aadir estos 3 eventos :
Car est en colisin con la Polica (mscaras de colisin ) , hacer = 2 la variable ganar.
Car2 entra en colisin con ( mscaras de colisin ) polica2 , hacer = 1 la variable ganar.
Cuando la variable Victoria ! = 0, saca una vez el mensaje en pantalla " " Y el ganador
es ... Player " + variableString ( ganar ) +" "" , ves a la escena nombre_de_tu_escena
Ahora agrega un nuevo sprite co el nombre de meta . Utiliza finishline.png para la imagen. Ahora
hacer:
Car est en colisin con la meta (mscaras de colisin ) , Hacer = 1 la variable ganar.
Car2 est en colisin con meta (mscaras de colisin ) , Hacer = 2 la variable ganar.
Explicacin rpida: Si gana = 1 , el Car gana. Si gana = 2 , el Car2 gana.

Multijugador

Aadir estos eventos al principio de la escena:

Visualizar " Bienvenidos al juego ... " con el ttulo "Persecucin Coches".
Abre un cuadro de dilogo de entrada de texto , y guardar el resultado en la variable IP
(por esto slo hay que preguntar al jugador la IP con la que se conecta).
Abrir un cuadro de dialogo S/No y guardar el resultado en la variable jugador (por este
preguntar al jugador si son reproductor de uno o dos jugadores ).
Inicializa la recepcin de datos.
Aadir variableString (IP ) a destinatarios.
Esto le permite recibir datos de un IP a travs de un puerto (por defecto es 50001 ).

Ahora tienes que aadir en los sucesos que envan y recibe la informacin. Pero antes de eso , es
necesario agregar los controles para Car2 . Aadir 2 eventos nuevos :
Variable jugador es "s" y variable ganar = 0
Variable jugador es "no" y variable ganar = 0
Ahora pon el control del primer coche como subeventos. Duplicar los controles del primer coche y
hacer lo mismo para el segundo evento y cambiar los controles para car2 . Ahora bien, en el caso
de que la variable jugador (player) sea s, aadir los siguientes:
Recibir datos
Enviar Car.X valor () con el ttulo " XPosition " a los destinatarios. Esto enva la posicin del
coche X al otro jugador.
Enviar Car.Y valor () con el ttulo " YPosition " a los destinatarios. Esto enva la posicin Y
del coche al otro jugador.
Enviar Car.Angle valor () con el ttulo "ngulo" a los destinatarios. Esto enva ngulo del
coche a otro jugador.
Haz = Red :: GetReceivedDataValue ( " XPosition2 " ) ; = Red :: GetReceivedDataValue ( "
YPosition2 " ) a la posicin de car2. Este recibe posicin X e Y de Car.
Haz = Red :: GetReceivedDataValue ( " angle2 " ) con el ngulo de car2. Este recibe
ngulo del Car.

La Pistas
Vamos a aadir los vehculos. Si estn fuera de la pista , iran ms lento (porque no hay hierba).
Aadir una condicin para dos coches: Si la tecla Up esta pulsada.
Aadir la condicin OR .y despus aadir otras 2 condiciones dentro de la condicin OR .
El coche car1 entre en colisin con RoadVertical ( mscaras de colisin ) o en Coche car1
entre en colisin con RoadHorizontal (mscaras de colisin ).
Aplicar ....
Revertir la colisin para cuando el coche no est en contacto con una carretera, pero el jugador
sigue presionando hacia arriba o hacia abajo las teclas: cambia la velocidad de arriba para ser 100
pxeles y la velocidad de tecla para ser 25 pxeles. De esta forma si el coche del jugador no est
en el camino que ser ms lenta y la polica se pondr al da con ellos .
A partir del mensaje
Crear un nuevo objeto de texto . Escribe el texto " Ready" en su interior. Crear una nueva capa y
mueve el objeto a la parte superior. Nombre de la capa HUD. Aadir 3 eventos:
TimeFromStart ()> = 1 , disparar una vez , Hacer = " Ready ... " al texto de inicio
TimeFromStart ()> = 2 , desencadenan una vez, Hacer = "Configurar ..." para el texto de
inicio
TimeFromStart ()> = 3 , desencadenan una vez, Hacer = " GO !!! " al texto de inicio
TimeFromStart ()> = 4 , desencadenan una vez , Eliminar inicio objeto
Ahora tenemos que aadir que para que los coches de carreras y coches de polica no puedan
moverse hasta que el texto dice "GO !!! " Simplemente crear un nuevo evento con TimeFromStart
()> = 3 y poner todos los coches y la polica en movimiento en su subevento .
Las Pistas
Ahora agregua el fondo , los coches , la polica , las pistas , y la meta.
Cmara

Necesitamos la cmara para seguir el jugador en el caso de la pista sea ms grande que la
pantalla. Aadir una accin para Car y Car2 . Deben colocarse en los eventos de networking, son
para que la cmara siga al coche todo el tiempo. Usa el Centro de la cmara sobre un objeto
dentro de unos lmites . Centrar la cmara en los coches . Para saber ms sobre el centrado de la
cmara en los objetos dentro de ciertos lmites: http://www.forum.compilgames.net/viewtopic.php?
f=20&t=5252.
No tenemos que dejar el coche salir del campo de juego mediante la creacin de un nuevo sprite
de llamada de obstculos con 2dSmallWoodBox.jpg . Aadimos el evento :
Car / Car2 entre en colisin con obstculos ( pxel ) , debe salir del Car / car2 de obstculo
( nico coche / car2 se mover ) .
Esto mueve el coche lejos del obstculo cuando el coche toca el obstculo.
Ahora agrega los obstculos alrededor del campo de juego para que el jugador no pueda salir del
campo de juego .
Correccin de errores
Hay un pequeo problema al jugar. Cuando termines de jugar, tienes que reiniciar. Cuando
intentes cerrar el juego, mientras est el dilogo, el juego se congela. Una correccin es que se
agregue un evento cuando victoria = 0. El primero ir a escena y aadir :
Abrir un Si / No S cuadro de mensaje y , y guardar el resultado en Continuar
Ahora agrega 2 nuevos eventos:
El texto de la variable Continuar es = " s" , vaya a escena " tu_escena "
El texto de la variable Continuar es = "no" , salir del juego
Para jugar a este juego , tu y tu amigo debis usar el mismo puerto 50001 y utilizar mutuamente
una IP externa para conectar entre s. Puedes encontrar tu ip externa yendo a
http://www.whatismyip.com.
Una imagen del juego en el editor de escenas :

Você também pode gostar