TGB/MiniPlatformerTutorial/Spanish
From TDN
|
[edit] Basic Platformer mechanics in 100 lines of script or lessLa premisa de este manual de instrucciones es proveer un set rápido y sin dolor y de paso introducir los mecanismos básicos de un juego de tipo "platformer" en TGB. Todo esto en menos de 30 min y bajo 100 lineas de código [edit] Setting up the ProjectPara comenzar , intervenir quirúgicamente a TGB (dando un clic sobre el icono TGB en su parte superior de un escritorio)
Para empezar nuevo proyecto, select "New Project…" from the File menu. Cuando usted hace esto , el Project Nuevo diálogo aparecerál llamar a este proyecto "miniPlatformer" (Figure 1.2). Esto criará al constructor ecuánime (Figure 1.3).
|
|
[edit] Importing ArtEs hora de iniciar añadir el contenido que usaremos en nuestro platformer. Porque tratamos de conservar cosas simples sólo añadiremos dos archivos de imagen para el proyecto. Copiar dos imágenes para su ./games/miniPlatformer/data/images folder (Figure 2.1) (Figure 2.2). [edit] Creating AnimationEsto será importante más tarde cuando vamos a construir nuestro mapa de la tejaSonPara concentrarse que necesitamos
Algunas de estas animaciones sólo tendrán marco del mismo, pero usted verá cómo podrÃamos añadir fácilmente más. Los alquileres comienzan con la animación Andada desde que es lo más interesante. Comience por b> haciendo clic lo "cree a un Animation nuevo" icono </b> (la Figura 2.7). En el diálogo Selecto Source eso aparece escogen "PlayerImageMap" y chasquido "uso Selected ImageMap" (la Figura 2.8). Después de que usted será regalado el diálogo del constructor de animación. Aquà usted puede arrastrar marcos del imageMap encima de lÃnea de tiempo de animación. ![]() Figure 2.7 ![]() Figure 2.8 Algunas de estas animaciones sólo tendrán marco del mismo, pero usted verá cómo podrÃamos añadir fácilmente más. Los alquileres comienzan con la animación Andada desde que es lo más interesante. Vea con antelación la animación para ver si parece intacta y luegoEn el diálogo Selecto Source eso aparece <b> escogen "PlayerImageMap" y chasquido "uso Selected ImageMap" (la Figura 2.8). save the animation as "playerRun".
Las animaciones restantes se forjan asimismo excepto que sólo tienen marco del mismo de animación (en la tuya proyecta que usted podrÃa añadir más). Cuando usted está hecho su rollout Vivo Sprites deberÃa mirar algo asà como (Figure 2.10). [edit] Building a levelAhora construiremos un tileLayer sencillo para nuestro nivel. Drag y caÃda el newLayer.lyr objetan del Tilemaps Rollout encima de su escena (Figure 3.1). Una vez que usted lo ha colocado en la escena usted tendrá que hacerle a la medida a ella un poco hacerle a ella trabajar con el resto de nuestro arteB> Drag y caÃda el newLayer.lyr objetan del Tilemaps Rollout encima de su escena. (Figure 3.3) and (Figure 3.4) show the tileLayer before and after setting the Tile Size. Una vez que usted lo ha colocado en la escena usted tendrá que hacerle a la medida a ella un poco hacerle a ella trabajar con el resto de nuestro arte<B> Drag y caÃda el newLayer.lyr objetan del Tilemaps Rollout encima de su escenaEs más fácil ajustar el tamaño del mapa entero de la teja que individualmente ajustar el tamaño de cada animación del jugador.Una vez su hecho su escena deberÃa mirar algo asà como (Figure 3.5). Es hora de hacer un reconocimiento del editor Tile Map de TGB. Revolotee su ratón sobre el estrato de la teja en nuestra escena hasta el set de botones de acción aparece por es esquina izquierda máxima. Click the "Edit this Tile map" button (Figure 3.6). This will bring up the Tile Editor in the right sidebar (Figure 3.7). From the Image drop down select MiniTileMapImageMap. Es hora de hacer un reconocimiento del editor Tile Map de TGB. Revolotee su ratón sobre el estrato de la teja en nuestra escena hasta el set de botones de acción aparece por es esquina izquierda máxima.Por defecto la bocateja en el ImageMap es exhibida en el recuadro complementario correcto.
Now "Paint" Algunas tejas de la plataforma encima de la teja hacen mapas para crear una ' base ' que su jugador debe estar de pie.Colocar plataforma enlosa que podemos usar al "Paint" herramienta (la Figura 3.11) para pintar tejas individuales de la plataforma encima del tilemap.
Para hacer esta <b> borran las tejas de fondo que colocamos antes de usándole el "Eraser" herramienta, y permiso de ausencia esas tejas transparentes, como adentroTGB le da una parte de formas diferentes para controlar cómo construye usted y exhibe sus niveles. (Figure 3.15). [edit] Creating a PlayerLa mayor parte del resto de manual de instrucción va a estar gastado escribiendo un guión para las acciones que harán operar nuestro platformer. Sino que antes de que hacemos eso necesitamos añadir un objeto para nuestra escena que será el punto de partida para nuestro jugador. Del "Sprites animado" rollout en el "Create" capÃtulo de recuadro complementario correctodrag the "playerStand" La animación apagada encima del nivel. Try para situarlo a como si el jugador estaba de pie en una plataforma enlose como se muestra adentro (Figure 4.1). Ahora necesitamos cambiar de dirección en alguna detección de colisión para nuestro objeto del jugador. Para hacer esta edición de las colocaciones del "Collision" rollout asà es que se parezcan a esos adentro (Figure 4.3). Con eso hecho somos ahora en condición de empezar escribir un guión para el movimiento para nuestro objeto del jugador. [edit] Keyboard Inputs hora de escribir una letra que controlará las acciones de nuestro jugador. Adentro su"[i]./games/miniPlatformer/gameScripts[/i]" folder create a file named player.cs. Abra este archivo con un editor de texto y añada la siguiente función a principios del archivo.
function playerClass::onLevelLoaded(%this, %scenegraph)
{
$pGuy = %this;
moveMap.bindCmd(keyboard, "left", "playerLeft();", "playerLeftStop();");
moveMap.bindCmd(keyboard, "right", "playerRight();", "playerRightStop();");
moveMap.bindCmd(keyboard, "space", "playerJump();", "");
}
Los playerClass::La función onLevelLoaded () es llamada cuandoquiera que un objeto con un tipo de clase de "playerClass" es cargado en la escena. Si usted recuerda cuando editábamos las propiedades Scripting de nuestro jugador, entonces colocamos el campo Class para "playerClass". Eso significa cuándo carga TGB nuestro nivel con nuestra animación del jugador llamará esta función. La primera lÃnea de la función almacena una referencia para el objeto siendo cargada para un $pGuy nombrado variable global que podemos soler poner notas al jugador en otras funciones. Después usted puede ver que amarramos lo izquierdo y llaves de la flecha derecha asà como también la barra espaciadora, cuando estas llaves son presionadas o soltadas llaman sus funciones correspondientes. Por ejemplo, cuando lo que la llave de la flecha izquierda se presionó, el "playerLeft" función "()" será llamado, cuándo es a la que se lanzó al mercado que el "playerLeftStop" función será llamado "()". Podemos usar estas funciones para rastrear lo que deberÃamos estar haciendo el jugador. Añadamos esas funciones cruciales del manipulador ahora.
function playerLeft()
{
$pGuy.moveLeft = true;
}
function playerLeftStop()
{
$pGuy.moveLeft = false;
}
function playerRight()
{
$pGuy.moveRight = true;
}
function playerRightStop()
{
$pGuy.moveRight = false;
}
function playerJump()
{
}
Aquà usamos esa variable del $pGuy que inicializamos en playerClass::OnLevelLoaded () para almacenar el movimiento estatal del jugador. Justamente usando el .moveRight y miembros .moveLeft en el objeto del $pGuy, es añadirles como playerClass variables dinámicas, a fin de que las podemos usar más tarde. Note: Aquà usamos esa variable del $pGuy que inicializamos en playerClass::OnLevelLoaded () para almacenar el movimiento estatal del jugador. Si quisimos tener un juego que pudo incluir más que uno tal objeto, entonces tendrÃamos que hacer esto parta diferentemente. [edit] Movimiento jugador¡Gran! Ahora rastreamos los keystates. Pero eso realmente no nos lleva dondequiera en términos de un juego. ¡ Necesitamos que nuestro jugador responda para esos keystates y realmente SE MUDE! Añadamos una función del manipulador de movimiento para encargarnos de esos keystates. function playerClass::updateHorizontal(%this) Usted pondrá cuidado que nuestra función es nombrada con lo " playerClass::" El identificador del namespace. Esto quiere decir que esta función operará con cualquier objeto que es variable de clase es determinado para "playerClass". Lo que hace esta función es comprobar la condición del moveLeft y los miembros de clase moveRight y asigna una velocidad lineal al objeto si encuentra ya sea ser cierta. Si ni salió ni derecho es apresurado, queremos tener la certeza de detener al jugador de mudarnos. Para hacer esto colocamos la velocidad de la x para 0. Note: We have not defined what happens if both buttons are pressed. Currently, because of the order of our if statements, pressing both keys results in movement towards the right. Previously we created a playerJump( ) function but it didn't do anything, let's now edit that function and add the following line.
function playerJump()
{
if(!$pGuy.airborne)
{
$pGuy.setLinearVelocityY(-225);
$pGuy.airborne = true;
}
}
Ahora lo que ocurre es que a cualquier hora que usted presiona el botón de salto una variable nueva del boolean, "en vuelo" es comprobado. Si "en vuelo" es falso (usted esté en la tierra) y y usted su jugador recibirá una velocidad considerable de la Y directamente arriba. (Echo de ver que los valores negativos de la Y en Torque se mudan arriba en la pantalla.) La variable "aerotransportada" es luego determinada verdadero como justamente hemos saltado. Para el paso final, queremos continuamente ajustarnos la dirección en la cual nuestro jugador se mueve basado en qué la condición las llaves están adentro. Para hacer esto necesitamos llamar una función updateMovement () todo el tiempo. Add lo siguiente funciona hasta el fin de suplayer.cs file.
function PlatformerSceneGraph::onUpdateScene()
{
if (isObject($pGuy))
$pGuy.updateMovement();
}
Adicionalmente usted necesitará nombrar su objeto de juegos SceneGraph "PlatformerSceneGraph" editando al "Name" textbox en el rollout Scene Graph Scripting. Usted puede ganar acceso a este rollout entrando en modalidad de edición sin cualquier escena que los objetos seleccionaron. Esto maniobra el acontecimiento del updateScene del t2dSceneGraph, el objeto básico responsable para manejar la apariencia de nuestro juego. Cada tiempo actualiza que queremos nuestro movimiento actualizado asà es que llamemos updateMovement () aquÃ. ¡Sino que la espera por minuto! No hemos definido a updateMovement () aún. Add la función updateMovement () justa debajo de la función updateHorizontal ().
function playerClass::updateMovement(%this)
{
%this.updateHorizontal();
}
updateMovement( )Es una función importante. En versiones previas de este manual de instrucción se volvió envejecido y difÃcil leer. Conservamos el código limpio y sostenible usándolo como un repartidor para más funciones especÃficas. Estamos justamente ocupados en condición de probar nuestro código de movimiento por primera vez. Antes de eso, sin embargo, necesitamos decir a ellos TGB que cargue nuestro archivo de player.cs cuando ejecutamos el juego. Hacer eso localiza los game.cs archivan en la misma carpeta como su archivo de player.cs. Open el archivo de game.cs y añade la siguiente lÃnea para la parte superior de la función del startGame.
exec("./player.cs");
Cuando usted está hecho la función del startGame deberÃa mirar algo asà como lo siguiente.
function startGame(%level)
{
exec("./player.cs");
// Set The GUI
Canvas.setContent(mainScreenGui);
Canvas.setCursor(DefaultCursor);
moveMap.push();
if( isFile( %level ) || isFile( %level @ ".dso"))
sceneWindow2D.loadLevel(%level);
}
Para que TGB cargue el archivo por primera vez tendrá para ser vuelto a arrancar. Ahorre su trabajo si usted no hace ya y reabrir el de proyecto Platformer. Una vez que usted ha hecho eso usted está listo a probar su código. Probar su demo ras con ras golpeado lo "Play" button in TGB (Figure 5.1). Después de divertirse que usted pondrá cuidado algunas cosas no tiene toda la razón. El jugador desliza izquierda y enmiende, pero a él no le parece caer. Entonces si usted salta, entonces él justamente vuela fuera de la pantalla y nunca regresa. Parece que necesitamos añadir un poco de gravedad para halarle hacia abajo tierra firme. Afortunadamente TGB tiene uno basado en el sistema de medicamentos para manipular estas cosas. Seleccione a su jugador y vaya al "Edit" etiqueta en el recuadro complementario, > la edición los "Physics" trasfondos rollout asà es que se parecen a lo siguiente (Figure 5.2). Usted pondrá cuidado que la Constante Y Force ha estado colocada para 100, ésta aplica una 100 fuerza de la unidad abajo en nuestro jugador todo el tiempo. Esto actúa como la gravedad empujándole hacia atrás abajo de después de que él se levanta de un salto. Son también qué empujones él abajo de cuando él camina fuera del borde de una plataforma. La fuerza Scale justamente aumenta el efecto de la gravedad en el jugador haciendo la ecuación un pequeño menos floaty y un poco más como un salto. Usted puede jugar con estos hasta que usted los trae cómo le gusta a usted. Siga adelante y pruebe el nivel. De buenas a primeras usted echa de ver que su objeto del jugador se reacomoda bastante bien encima del piso cuando el nivel comienza. Entonces cuando usted salta o camina fuera de una plataforma él cae hacia atrás abajo en conectar a tierra como usted esperarÃa. Sino que otras cosas extrañas ha comenzado a ocurrir. En primer lugar usted sólo puede saltar una vez. Esto está porque usted aún no detiene la bandera "aerotransportada" parafalse, Poniendo a cero la habilidad saltadora. Algunas veces siente como el jugador atraviese andando barro y cuándo usted entra andando en una esquina que el jugador va dando tumbos alrededor de raramente y puede atascarse. La razón para esto es que TGB tiene una fÃsica muy sofisticada el modelo, simula fricción y demás tipo de otras Fuerzas Armadas que realmente no queremos manipular. Realmente queremos los medicamentos gravitacionales para funcionarnos cuando el objeto del jugador está de la apariencia, pero no cuando está en el andar esmerilado aproximadamente. To fix this we are going to have to do a little scripting and actually take care of vertical movement. Open up the player.cs file and append the following code to the end of the updateMovement( ) function
%this.updateVertical();
Después usted necesitará añadir la letra para la función updateVertical (). No es intimidado por el código. Es de hecho franca bonita > Add la función updateVertical () justa debajo de la función updateHorizontal ().
function playerClass::updateVertical(%this)
{
%yVelocity = %this.getLinearVelocityY();
if(%this.airborne)
{
%this.setLinearVelocityY(0);
%collision = %this.castCollision(0.005);
if(%collision !$= "")
%this.setLinearVelocityX(0);
}
%this.setLinearVelocityY(100);
%collision = %this.castCollision(0.005);
if(%collision $= "")
{
%this.airborne = true;
%this.setConstantForceY(100);
}
else if(%yVelocity < 0 && %this.airborne)
{
%this.setConstantForceY(100);
}
else
{
%this.airborne = false;
%this.setConstantForceY(0);
}
%this.setLinearVelocityY(%yVelocity);
}
Repasemos este capÃtulo de función por el capÃtulo. La primera cosa que hacemos es almacenar la velocidad coetánea de la Y del jugador en una variable local (delineada por el signo de por ciento en parte delantera de yVelocity). Luego seguimos adelante hacia el siguiente capÃtulo:
if(%this.airborne)
{
%this.setLinearVelocityY(0);
%collision = %this.castCollision(0.005);
if(%collision !$= "")
%this.setLinearVelocityX(0);
}
Este bloque de código y su la posición en la letra soy sumamente importante. Primer, que inspeccionamos para ver si estamos en el aire. Si es asÃ, ajustamos la velocidad de la Y para 0. Esto nos deja hacer una comprobación de colisión usando a castCollision () para ver si entramos corriendo a cualquier cosa en seguida bien o se deja de nuestras tomas del jugador . castCollision () un solo parámetro que define hasta dónde en el futuro inspeccionar. Porque queremos usar esta colisión experimental para decidirnos cuando a desactivar nuestra velocidad horizontal cuando estamos en lo correcto al lado de una pared o una plataforma, usamos una unidad muy pequeña de tiempo. Si encontramos una colisión directamente para la izquierda o bien de nosotros nosotros quiera colocar nuestro linearVelocityX para 0 del que entretenernos repetidamente forzando la entrada a la pared y potencialmente atascándose. (Nota: Este código ayuda a arreglar un asunto de ascenso de la pared que los usuarios de anteriores versiones de este baquiano tutorial.) El resto de updateVertical () maniobrará los trasfondos de medicamentos que gobiernan movimiento vertical. Ahora hacemos lo propio con castCollision () para la dirección de la Y: Por ahora ajustamos una velocidad grande de la Y para probar y sede si golpeamos cualquier cosa debajo de nosotros. Ahorramos la colisión, si cualquier, en la "colisión" local variable y múdese en lo siguiente si la declaración:
if(%collision $= "")
{
%this.airborne = true;
%this.setConstantForceY(100);
}
Si no hay colisión resultando de castCollision () luego se sabe que el jugador está en el aire y es cronometre para cambiar de dirección en la gravedad. Para hacer esto colocamos en vuelo true and set the Constant Y force to 100. If there is collision then we move into the else-if:
else if(%yVelocity < 0 && %this.airborne)
{
%this.setConstantForceY(100);
}
Este bloque revisa en busca de que movimiento en lo arriba dirección y vean si estamos en el aire. Si asà es que cambiamos de dirección en la gravedad. Sin este código usted podrÃa entrar andando en una pared, salto, y lancha directamente levantada hasta que la pared se acabase. Si nosotros encontramos una colisión y no acertamos a estar de la causa especial por encima de luego se sabe que estamos en tierra firme. Per se "en vuelo" para falaz y desactivamos gravedad sedimentándose lo Constant Y force to 0.
else
{
%this.airborne = false;
%this.setConstantForceY(0);
}
En la última lÃnea de la función se sabe que hemos terminado con nuestras pruebas y simplemente podemos restaurar la velocidad de la Y. El movimiento real será manipulado por el motor de medicamentos según el constantForce que colocamos a todo lo largo de updateVertical (). Now go and test the level. ¡Gran, que estamos casi hechos! Algunas veces el TGB puede obtener un poco de mal hecho en eso los cálculos de medicamentos. Esto es propenso a aparecer cuando dos objetos se arriman realmente. Para un montón de sistemas de juego éste estarÃa un problema no resuelto en el software principal, pero TGB provee una forma fácil que nosotros debemos decir la fÃsica en el jugador para ser algo más cuidadosos. Abra el archivo de player.cs otra vez y localice los playerClass::La función del onLevelLoaded. Al final de esta < b de función > anexe la siguiente lÃnea de código</b>.
%this.setCollisionMaxIterations(2);
Esto dice la fÃsica para comprobar un poco más cuidadosamente al colisiones calculadoras en nuestro jugador. Siga adelante y pruebe el nivel otra vez. (Note: Usted puede poner cuidado, a merced de cómo construyó usted su nivel, que el jugador algunas veces se atasca ir sin embargo una abertura estrecha que al principio aparece él deberÃa calzar a través. Ésta está porque la caja que salta pues nuestra jugadora es una caja grande. Para centrar este problema puede revisar ustedes la caja que salta del jugador y hay doctor en TDN eso le dice a usted qué tan que haga esto.) Impresionante, ahora la tipa brinca aproximadamente y no hay pegajosidad. Uno a última hora antes de que cerremos este capÃtulo. Si usted resuelve incluir rampas o superficies inclinadas en su platformer, entonces usted puede experimentar brincos extraños cuándo olvidándose de una llave de movimiento mientras trepando la rampa. El siguiente código se concentrará esto y esperanzadoramente le dará una idea de cómo iniciar a pensar en problemas nos resueltos en el software similares que usted puede encontrar más tarde. Añada lo siguiente para lo último si la declaración adentroupdateHorizontal( ).
if(!%this.airborne)
%this.setLinearVelocityY(0);
Este código asegurará que nos congelemos completamente cuando dejamos el empuje de movimiento teclea en una rampa. EnfrÃese. El tiempo al que traer la pantalla rollo de papel con nuestro jugador. [edit] Scrolling CameraNormalmente un tema como esto precisarÃa que es propio capÃtulo, asà es que le reporté uno facilitar encontrar de la tabla de contenidos. Pero el hecho de la materia es que TGB hace enrollar la cámara realmente fácil. Todo lo que tenemos que hacer es encaramarnos en la cámara para nuestro jugador y eso puede haber terminado con una sola lÃnea de código. Lo haremos en dos para el bien de la claridad. Añada el siguiente rayado de código hasta el fin de playerClass::onLevelLoaded() %force = 20; sceneWindow2D.mount($pGuy, "0 0", %force, true); Aquà decimos el propósito del sceneWindow2D para montarnos en nuestro $pGuy del jugador. "0 0" son la x y offsets y de ese monte, y %force es la fuerza que puede ser ejercida jalando la cámara aproximadamente. Lo colocamos para 20, pero usted podrÃa colocar lo que fuere que usted quiere. Los números inferiores quieren decir que la cámara lentamente seguirá al jugador aproximadamente, números más altos quieren decir que se adherirá muy rÃgidamente para el jugador. Siga adelante y experimente el nivel, usted deberÃa encontrar la cámara mudándose bastante bien con el jugador. [edit] Animating the PlayerAsà es que ahora que tenemos todos los mecánicos trabajando, eso el tiempo para hacer a nuestro jugador anima. Él se ve un poco mudo corredor alrededor del nivel en su encaramiento del marco de posición bien. Para animar según el movimiento desplegado en pantalla, necesitaremos saber cómo se mueve nuestro jugador actualmente. Add the following function to the player.cs file right above PlatformerSceneGraph::onUpdateScene().
function playerClass::setCurrentAnimation(%this)
{
%xVelocity = %this.getLinearVelocityX();
%yVelocity = %this.getLinearVelocityY();
if(%xVelocity > 0)
{
%this.setFlip(false, false);
}
else if(%xVelocity < 0)
{
%this.setFlip(true, false);
}
}
El setFlip lanza la orientación de nuestro objeto del jugador en la X y las instrucciones Y. Cuando somos conmovedores a la izquierda queremos lanzar el arte desde todo nuestro arte está de cara a bien. Cuando nos mudamos a la derecha que queremos destejer ese capirotazo asà es que llamamos setFlip otra vez con falso para lo deshace. Now lets add the jump animation. Anexe el siguiente código hasta el fin de lo setCurrentAnimation( ) function.
if(%this.airborne)
{
if(%yVelocity < 0)
{
%this.playAnimation(playerJumpUp);
}
else
{
%this.playAnimation(playerJumpDown);
}
}
else
{
}
Este código es sumamente franco. Inspeccionamos que estamos en el aire. Si es asÃ, comprobamos la dirección de nuestra velocidad vertical y animamos apropiadamente. En caso de que no, no hacemos ninguna cosa ... pero. ¡La única cosa a la izquierda para animar es la posición y echando a andar! Los alquileres se encargan de eso rellenando esa declaración distinta vacÃa. <La b > Puso el siguiente código dentro de los corchetes de la declaración distinta vacÃa que agregamos arriba.</b>
if(%xVelocity == 0)
{
%this.playAnimation(playerStand);
}
else
{
if(%this.getAnimationName() $= "playerRun")
{
if(%this.getIsAnimationFinished())
{
%this.playAnimation(playerRun);
}
}
else
{
%this.playAnimation(playerRun);
}
}
Si cumplimos este código luego nosotros estamos faltante sobre el terreno y para animar correctamente. Este código colocará la animación en ejecución en que nuestro jugador basado en la condición del jugador objeta velocidad horizontal coetánea. Primero inspeccionamos para la sede si la jugadora es posición todavÃa. Si él es, entonces ajustamos la animación para "playerStand". Si él no está de pie todavÃa luego sabemos, entonces él está en la tierra y corriendo. La primera cosa que hacemos es inspeccionar para la sede si el "playerRun" animación ya juega. Si el animatino ya juega, entonces lo espera para terminar antes de que le dice para jugar otra vez. El IIf que el jugador toca un poco otra animación luego inmediatamente dice la animación andada para comenzar. Necesitamos llamar esta función de a alguna parte sin embargo. Queremos que la animación para actualizar cuandoquiera que el movimiento actualice asà es que añadiremos una llamada para la setCurrentAnimación () para el updateMovement () la función. Append lo siguiente para el fin de la función updateMovement ().
%this.setCurrentAnimation();
Ahora usted puede jugar su nivel y puede ver su tipo corriendo y brincando por todos lados, todo correctamente animado. Si todo anda usted es funcionabilidad hecha, básica del platformer adentro alrededor de 100 rayado de letra. Esto le deberÃa dar una buena idea de cómo iniciar a hacer su propio juego del platformer usando a TGB. Si usted realizó el paso optativo al crear, entonces el nivel que su platformer deberÃa mirar algo asà como esto [edit] De lo las condiciones, Advertencias, y donde salir de aquÃEste manual de instrucción diseñado para darle un sentido de qué entra en un platformer muy básico. ¡Si usted ha leÃdo asà de lejano que luego usted ciertamente ha aprendido bastante! Esperanzadoramente usted todavÃa masca ruidosamente en el bit para más. Este manual de instrucción deberÃa actuar como una junta primaveral para su proyecto, no una plantilla. Hace muchas cosas fluyen pero no hace todo. El manual de instrucción, por ejemplo, no encubre importar superficies inclinadas. El código en este manual de instrucción estaba escrito con expansibilidad en mente. Las superficies inclinadas ciertamente pueden ser importadas y usadas con el código de este manual de instrucción pero ellas no son perfectas. Usted experimentará algunas rarezas embarazosas que usted es animado para resolver por usted mismo y con la ayuda de la comunidad a través de los foros TGB. Algunas rarezas incluyen a brincar en lo alto de cualquier rampa, movimiento sucio abajo de rampas, y alguna funcionabilidad divertida cuando la izquierda y derecho son el rato en apuros en una rampa. Adicionalmente, usted debe ejercitar cautela extrema cuándo importar su rampa en un nivel tan parejo una discrepancia diminuta en polÃgonos de colisión entre plataforma y la rampa puede causar su carácter para experimentar una colisión en lugar del movimiento muy fácil. Éste es simplemente un ejemplo de los asuntos en contra del que usted podrÃa abollar arriba al usar este manual de instrucción como una junta que bucea para platformers en TGB. El caso es que este manual de instrucción no deberÃa ser mirado como un diseño documente para su juego. Lo < yo > Platformer < / > es uno de los géneros más comunes en vÃdeo jugando y la variedad parece no tener fin. Su llamada del diseño para Sonic da estilo a gameplay con lazos y calzadas irregulares? ¿Está usted tratando de lograr un platformer de estilo del Mario Esque donde las superficies inclinadas continuas son menos frecuentes? O tal vez su diseño de juego le hace pasar a no probado y excitando territorio nuevo. Lo que fuere que su caso puede ser, usted está animado para tomar lo que aprende usted de este manual de instrucción y corra con él. Si usted se atasca, entonces no dude en preguntar en los foros. La comunidad cultiva cada dÃa y es muy anuente para echarle una mano. Ahora llegue fuera de aquà y haga su juego! [edit] Mini Platformer Update- by Wicked Sunny 24.06.2007
Muchos noobs adicionándome tuvieron problemas serios con la colisión del polÃgono del ninja con tejas en este manual de instrucción. He estado trabajando en eso de últimos 2 dÃas y he encontrado pocas soluciones, no son perfectos pero sino soluciona más de los dolores de cabeza grandes. No soy un programador y por lo tanto no espero escribir un guión para de mi lado, éste es más o menos TGB soluciones basadas. [edit] First the problems1) If conserve presionando la derecha (o la llave de la flecha izquierda) en contra del lado de la teja, lentamente lentamente el ninja inicia a levantarse hasta que él salta sobre la teja, sin presionar el botón de salto. Literalmente deslizándose sobre la obstrucción. 2) Cuando el jugador salta y toca una pared (más luego una enlosa) algunas veces justamente se apega a la pared. 3) Cuando el ninja se colapsa entre dos la mayorÃa de tejas (el punto de vista un hoyo) del tiempo se apega a la pared, algunas veces se empareje en el borde de la teja en una manera muy irreal. [edit] SolutionsPrimero después de hacer su mapa de la teja, NO HAGA UNA SELECCIÓN LA COLISIÓN BOXEA. Sà no vamos a usarlo. :) En lugar de eso arrastre el ' objeto de la escena ' de la ventana Others en el menú Create. Es invisible. Ahora escámelo y coloque encima eso bloque sabio de sus tejas (cuál usted quiso como las plataformas) en un estrato diferente luego el mapa de la teja. Usted tendrá que usar muchos de ellos encima de bloques separados de tejas. En la imagen por encima de cada colisión verde el bloque está un objeto separado de la escena. Ahora aplique las cajas de colisión que supuesto aplicáramos en la teja trazan un mapa de en estos objetos de la escena, ahorrar tiempo usted aun puede hacer una copia clónica de ellos. Esto automáticamente solucionará el primer problema. La solución ahora y 2 3 se basa en su mayor parte en el bloque de objetos movibles de carácter.
La razón principal que hinca para la pared está por esta forma y el polÃgono de colisión apunta esta forma crea. Usé las siguientes proposiciones de colisión para especialmente aguantando bloque de objetos movibles del ninja - Esto tiene ventajas y desventajas - la ventaja es que no se adherirá, sino que una parte de la imagen aparecerá entrando en la teja. Me gustó esto porque lo hizo aparecer un 3d mordido como, pero si usted el wanna lo evita, está seguro, entonces sus bloques de objetos movibles son diseñados correctamente. Debajo de la imagen es del carácter no engomado, si se adhiere que tendrá bloque de objetos movibles de pie y no saltando sobre animación. Registre la salida lo las proposiciones de colisión en la pierna, están en lÃnea recta exacta, si uno hace resaltar en un ángulo que el ninja podrÃa hincar a la pared. Si su carácter todavÃa llega hincó juegue con estos puntos de colisión. Éste es el problema de parte del ninja yendo en la teja, sino puede ser solucionado con buen diseño inicial. Esto soluciona todos los 3 problemas, una buena lata del diseño de carácter salvo usted parte de dolores de cabeza más tarde con TGB. El polÃgono Collision está un poco fastidiado en TGB pero si usted sabe bien escribir un guión para usted puede hacer propiedad personalizada de colisión por el código y puede remover (leo en los foros) el problema. Espero que se componga en 1.5. Usted fácilmente puede hacer un juego de tipo del mario con esto, o aun cuáles lanzamiento shurikens, pero para la espada utilizadora el ninja que el bloque de objetos movibles necesita estar cambiado. Traje pocos de las ideas del juego del arrancador del platformer de x Torque. Es muy bueno, ' cómprelo si usted necesita aprender más acerca de los juegos de la plataforma. [edit] Una forma Platformsby Wicked Sunny 25/06/2007N . b.- Si usted sabe qué tan hacer esto escribiendo un guión y los gatillos, por favor no haga un intento, entonces esto. Esto son más de un tiro certero muy para crear una plataformas de forma sin escribir un guión para. Usted le puede hacer dos formas - tampoco haga una teja nueva (especialmente para esta plataforma sólo) o aplique trasfondos de colisión para el estrato del mapa de la teja entero creado previamente. Ahora edite mapa de la teja - la caja de colisión del cheque por encima de la imagen de la teja y la marca un polÃgono cuadrado de colisión cubriendo los bordes de la teja en el menú de edición mismo (marcado por lÃnea verde sobre la imagen de la teja debajo de). Ahora traiga las más bajo dos proposiciones directamente levantadas para las dos proposiciones máximas. Haga seguro el rayado es derecho y un rectángulo muy muy delgado es hecho, es muy difÃcil como usted no pueda zumbar en el panel de edición, pero pueda hacer un intento. Ahora pinte sobre las tejas que usted quiere saltar hasta el final pero esté de pie sobre la parte superior. Como simple como eso. En la imagen he usado una teja de imagen de la pared para distinguir las únicas plataformas de forma. Otras plataformas están rodeadas del objeto invisible de la escena. Justamente haga seguro las proposiciones de la teja y los objetos de la escena son adentro un verso horizontalmente cuando son colocados al lado. Una forma plataformas tiene una ventaja más - algunas veces al saltar y tratar de alcanzar otra plataforma por el polÃgono apunta, el ninja se atasca para otras plataformas (especialmente el carel). Tal lata de tejas repuesta por una forma enlosa, a fin de que la próxima vez no se adhiere y cae, cuál usted quiere. De lo que me he dado cuenta después de parte de experimentar y leer foros es que la forma TGB actualiza sus colisiones causa pocos de los citados anteriormente problemas. Más de la costumbre del ninja de tiempo atásquese, pero repentinamente usted lo encontrará estremecedor en una teja particular, avanzando dando tumbos y saltando más rápido sobre una plataforma de forma o atascándose igualmente. El salto y espalda venida en eso otra vez y surtirá efecto muy bien. Ahora éste es un problema no resuelto en el software pero yo pienso que pocos de los usuarios adelantados lo pueden soslayar usando escribiendo un guión para. No Seguro Acerca De Esto. También he puesto cuidado es que el polÃgono dos de arriba apunta de la teja hace la vara ninja (con las proposiciones de colisión que creé por encima de) la mayorÃa de las veces. La raÃz apunta varas pero tal vez una vez en 100 veces. Thats por el que la citada anteriormente ventaja de una teja de forma surta efecto. Si un ninja se adhiere su principalmente porque uno de su punto perseverando en la colisión apunta de la teja. Usted puede comprobar esto habilitando los saltos de colisión asentándose elimine las pulgas de un programa dando y luego jugar el juego. Por lo tanto trate de usar menos tejas para una plataformas de forma. La imagen de debajo muestra más luego 5 que tales tejas usaron y que ésta está donde mi ninja queda pegado la mayorÃa de las veces el rato andante en ella. Esta técnica no surte efecto con objetos de la escena sino con trabajos normales de mapas de imagen (de quién es la colisión que apunta es revisado como las tejas arriba) muy bien. Asà un bloque de objetos movibles largo de la plataforma puede ser usado en lugar de 5 tejas. TGB no es TXB y por lo tanto no puede haber una comparación. Simplemente proveo esta actualización a fin de que más diseñadores de juego prueban hacer plataforma juega con TGB. Justamente no se rinda, manténgase difÃcil;) Pronto trataré de dar un enlace de este demo de juego. [edit] "demoBien aquà es el enlace del demo. He actualizado como el instalador no fue adecuado, si usted tiene a TGB que este exe operará muy bien, ninguna necesidad para instalarla. He hecho pocos cambios - 1) he usado más de mapas de imagen para una plataforma de forma luego mapas de la teja. Su apostador otorgante resulta. He dejado pocos mapas de la teja como adecuadamente a fin de que los usuarios pueden deducir ida de whats incorrectamente. La más alta fila de 4 tejas en la lÃnea recta justa nivelada por encima de mis 5 tejas (por encima de pic) y la fila justas debajo de las 5 tejas, le dará la idea. 2) la única izquierda de problema ahora es actualización repentina de cecina de la animación algunas veces cuando el ninja monta de un salto sobre una plataforma de forma. Ahora su cualquier por la colisión apunta interactuar o por el escribir un guión para animaciones MUY básico usó para el ninja. Ninguna pegadura más ya. Al menos no en mi laptop. BTW si cualquiera no pudiera saltar fuera del hoyo rebotante, entonces mejor vuelve a arrancar el juego, ningún repeón aún. Si usted alcanza el máximo la mayorÃa de fila de la teja, usted puede divertirse con bungee saltando de esa altura. :D Usted puede saltar debajo de una única plataforma de forma por primero saltando a aire luego usando llaves de la flecha para aterrizar en la plataforma inferior. Por favor si usted tiene preguntas, entonces las soluciones, la retroalimentación, la apariencia pues un poste nombraron a "Mini platformer actualizado en TDN" en foros del soldado raso TGB > quedando echadas a andar. Y el poste sólo allÃ, asà es que le puedo seguir la pista. Gracias y disfruta demo. |
Categories: T2D | TGB | GameExample | Tutorial












































