6
 JUEGO MULTIJUGADOR Creación del proyecto Crear un nuevo proyecto. Para este tutorial, vamos a utilizar la plataforma nativa , ya que tiene la extensión de la red y la plataforma web no lo hace. Haz clic en proyecto vacío 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 diálogo comunes ( para escribir en la ip , ect ) Objeto de texto ( para el " Preparados... listos ... ya ! " Texto ) Baldosa Sprites (por la carretera y el fondo)

Multijugador Gd

  • Upload
    loaskds

  • View
    11

  • Download
    0

Embed Size (px)

DESCRIPTION

estew

Citation preview

  • JUEGO MULTIJUGADORCreacin 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 sabemosqu tan grande ser la pista. Ahora , crear otros dos sprites de baldosas y nombrarlosRoadHorizontal 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, asque 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 yCar2 . Utilice voiture.png y voiture2nd.png para los grficos de automviles. Ahora arrastra elobjeto 2 en la escena. Abre la ventana de edicin de sprites y haz clic, en Editar mscara decolisin. Bien, ahora vamos a editar la mscara de colisin. Eliminar la vieja mscara de colisin. Eliminartambin. Ahora haga clic en el botn de la esquina superior izquierda de la pantalla. Un saldr undilogo. Introduce 61 para el primero y 26 para el segundo . Haz lo mismo para Car2 . Estamoshaciendo una nueva mscara de colisin debido a que la colisin no funciona de forma perfectacon sprites contra sprites de baldosas , y la mscara de colisin original es demasiado grandepara los coches.

    Ahora , vamos a empezar a trabajar en los eventos . Ir a la pgina del evento y crear unas 4eventos nuevos :

    Si se pulsa la tecla arriba , aadir al coche una fuerza, ngulo : Car.Angle () grados y longitud: 300 pxelesEsto 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 pxelesEsto mueve el coche hacia atrs cuando se presiona hacia abajo. Se ve afectada por ladireccin 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 loseventos 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.pngcomo 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 haciael Car: Car.PointX (Centro ) ; Car.PointY (Centro ) en 0deg velocidad / segundo , gira hacia Car2:Car2.PointX (Centro ) ; Car2.PointY (Centro ) en 0deg velocidad / segundoEsto 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. Ahorahacer:

    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 , esnecesario 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 yhacer lo mismo para el segundo evento y cambiar los controles para car2 . Ahora bien, en el casode 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 car1entre en colisin con RoadHorizontal (mscaras de colisin ).Aplicar ....

    Revertir la colisin para cuando el coche no est en contacto con una carretera, pero el jugadorsigue presionando hacia arriba o hacia abajo las teclas: cambia la velocidad de arriba para ser 100pxeles y la velocidad de tecla para ser 25 pxeles. De esta forma si el coche del jugador no esten 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 ymueve 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 puedanmoverse 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 lapantalla. Aadir una accin para Car y Car2 . Deben colocarse en los eventos de networking, sonpara que la cmara siga al coche todo el tiempo. Usa el Centro de la cmara sobre un objetodentro de unos lmites . Centrar la cmara en los coches . Para saber ms sobre el centrado de lacmara 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 spritede 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 delcampo de juego .

    Correccin de errores

    Hay un pequeo problema al jugar. Cuando termines de jugar, tienes que reiniciar. Cuandointentes cerrar el juego, mientras est el dilogo, el juego se congela. Una correccin es que seagregue 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 ContinuarAhora 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 mutuamenteuna IP externa para conectar entre s. Puedes encontrar tu ip externa yendo ahttp://www.whatismyip.com.Una imagen del juego en el editor de escenas :