0% encontró este documento útil (0 votos)
3 vistas5 páginas

Guía para Crear un Juego 2D en Torque

Este documento proporciona instrucciones paso a paso para crear un proyecto de juego simple con peces nadando en el fondo y una imagen de fondo que se desplaza. Se explica cómo agregar assets, configurar capas, scripts y datos para controlar el movimiento de los peces de manera aleatoria.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas5 páginas

Guía para Crear un Juego 2D en Torque

Este documento proporciona instrucciones paso a paso para crear un proyecto de juego simple con peces nadando en el fondo y una imagen de fondo que se desplaza. Se explica cómo agregar assets, configurar capas, scripts y datos para controlar el movimiento de los peces de manera aleatoria.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

Demo # 1

1. Cree un proyecto vacío


2. Abra el menú principal en la opción <Project> y luego (Resources)
3. Revise que en la parte derecha esta la colección de objetos que va a usar en este
caso debe estar <fishArt> si no esta así haga lo siguiente: selecciónelo del lado
izquierdo y luego presione [Add To Project] y se pasará al lado derecho luego
presione [Save] y listo
4. En el panel de la derecha ubique la pestaña <Create> y despliegue del menú
deslizante la opción (Static Sprites)
5. Pase o arrastre la imagen del mar llamada <BackGroundImage> hacia el área de
trabajo
6. En el panel de la derecha ubique la pestaña <Edit> y despliegue del menú
deslizante la opción (Scene Object) y baje hasta encontrar la opción (Layer)
cambie esto para establecer la profundidad de la imagen, para este ejemplo
coloque “30” como parámetro
7. <Create> + (Static Sprites) arrastre “RocksFarImage”, no se olvide de centrar
todo
8. <Edit> + (Scene Object) + (Layer) = 20
9. <Create> + (Static Sprites) arrastre “RocksNearImage”
10. <Edit> + (Scene Object) + (Layer) = 12
11. <Create> + (Animated Sprites) arrastre “Angelfish1SheetImageMapAnimation”
12. <Edit> + (Scene Object) + (Layer) = 16
13. En la ruta X:\...\game\gameScripts de su juego abra con un block de notas el
archivo “[Link]” luego verifique o adicione hasta que quede como esto
//---------------------------------------------------------------------------------------------
// Torque Game Builder
// Copyright (C) [Link], Inc.
//---------------------------------------------------------------------------------------------

//---------------------------------------------------------------------------------------------
// startGame
// All game logic should be set up here. This will be called by the level builder when
you
// select "Run Game" or by the startup process of your game to load the first level.
//---------------------------------------------------------------------------------------------
function startGame(%level)
{
[Link](mainScreenGui);
[Link](DefaultCursor);

//new ActionMap(moveMap);
[Link]();

$enableDirectInput = true;
activateDirectInput();
enableJoystick();

if (isFile(%level) || isFile (%level @ ".dso"))


[Link](%level);
}

//---------------------------------------------------------------------------------------------
// endGame
// Game cleanup should be done here.
//---------------------------------------------------------------------------------------------
function endGame()
{
[Link]();
[Link]();
//[Link]();
}
function FishClass::onLevelLoaded(%this, %scenegraph)
{
%[Link](20);
}
14. Guarde el archivo y ciérrelo
15. Ejemplo de jugador muerto, no lo incluya es solo un ejemplo
function Player::onLevelLoaded(%this, %scenegraph)
{
%[Link]();
}
function Player::die(%this)
{
%[Link]();
}
16. Volvamos a el diseñador <Edit> + (Scripting) + (Class) = FishClass. Nota: este
nombre “FishClass” debe ser el mismo que colocamos en el [Link] ya que es
la conexión del objeto con su acción la línea que se modificó es
function FishClass::onLevelLoaded(%this, %scenegraph)
17. Listo puede guardar el proyecto y correr para ver el resultado
18. Ahora debemos ampliar el área del mundo para ello seleccionamos el objeto y
veremos algo así luego damos click izq para después modificar el tamaño del
mundo del objeto como en la imagen 2; ojo cuando este seleccionado el objeto
aparecerá un recuadro alrededor de él.

19. debe quedar como esta figura


20. <Edit> + (Worl Limits) +1 (Limit mode) = NULL, +2 (Min. Bounds) +a (X) =
-66.200 +b (Y) = -45.000, +3 (Max. Bounds) +a (X) = 70.000 +b (Y) = 46.700,
+ check “Callback”
21. Abra con un block de notas el archivo “[Link]”; agregue esta línea en la ultima
parte del archivo justo después de la función onLevelLoaded:
function FishClass::onWorldLimit(%this, %mode, %limit)
{

switch$ (%limit)
{
case "left":
%[Link](20);
%[Link](false);

case "right":
%[Link](-20);
%[Link](true);
}

}
22. Salve todo y pruebe el juego
23. Dependiendo del resultado puede que tenga que ajustar los valores de Min.
Bounding y Max. Bounding en los ejes X (valores altos mas lejos se mueve y
viceversa)
World Limit Response Modes:
OFF: El area del mundo no es detectada por el objeto.
NULL: los limites del mundo son detectados,pero no hay ninguna acción
cuando el objeto toca los limites; éste continúa su camino. Este modo es
usado en combinacion con el Callback checkbox para responder con el
script y actuar segun los limites del mundo.
BOUNCE: El objeto rebota en los límites del mundo de una forma
simple, como forma de mesa-y no incluye el giro.
CLAMP: El objeto se desliza a lo largo de los límites del mundo y no se
mueve pasados estos.
STICKY: El objeto permanece quieto al tocar los limites
KILL: El objeto se borra al tocar los limites.
24. Abra el [Link] y cambie las siguientes líneas para obtener una ubicación al
azar
function FishClass::onWorldLimit(%this, %mode, %limit)
{

switch$ (%limit)
{

case "left":
%[Link](20);
%[Link](false);
%[Link](getRandom(-35, 25));

case "right":
%[Link](-20);
%[Link](true);
%[Link](getRandom(-35, 25));
}

}
25. Ahora para cambiar la velocidad y que a la vez sea también al azar <Edit> +
(Dinamic Fields) + (minSpeed) = 5 y luego agregue otro cuadro y escriba
(maxSpeed) = 25 luego agregue otro cuadro para terminar
26. Y adicione al final de la línea del archivo [Link] esto:
function FishClass::setSpeed(%this)
{
%[Link] = getRandom(%[Link], %[Link]);
}
27. verifique que el codigo queda así
function endGame()
{
[Link]();
[Link]();
//[Link]();
}

function FishClass::onLevelLoaded(%this, %scenegraph)


{
%[Link]();
%[Link](%[Link]);
}

function FishClass::onWorldLimit(%this, %mode, %limit)


{
%[Link]();

switch$ (%limit)
{
case "left":
%[Link](%[Link]);
%[Link](false);
%[Link](getRandom(-35, 25));

case "right":
%[Link](-%[Link]);
%[Link](true);
%[Link](getRandom(-35, 25));
}
}

function FishClass::setSpeed(%this)
{
%[Link] = getRandom(%[Link], %[Link]);
}
28. OK, ahora podemos crear un archivo que permita asignar rápidamente los datos
del pescado y usarlos como propios, esto es usado para repetir varias acciones
que deben hacer objetos iguales en el juego
29. En la carpeta de los scripts donde esta el [Link] abra el “[Link]” y
escriba en la ultima línea lo siguiente:
datablock t2dSceneObjectDatablock(FishDatablock) {
Class = "FishClass";
Layer = "16";
WorldLimitMode = "NULL";
WorldLimitMin = "-66.2102 -45";
WorldLimitMax = "66.1003 45";
WorldLimitCallback = "1";
minSpeed = "5";
maxSpeed = "25";
};
30. Ahora guarde y cierre, coloque mas objetos y cuando termine seleccione uno de
ellos al que va a aplicar los movimientos predeterminados por usted en el
archivo anterior que pueden ser los mismos o nuevos para aplicar a objetos que
se deben mover igual, el objeto que selecciono debe solo cambiarle lo siguiente
en <Edit> + (Scripting) + (Config dataBlock) + seleccione de la lista el
“FishDatablock”.
31. Si no aparece debe recargar el juego de la siguiente manera:
Menú principal <Project> + (Reload project) – esto cerrara la escena y le preguntará
si desea guardar (acepte), debe reabrir la escena así: Menú principal <File> + (Open
Scen…) y busque la escena guardada; repita el proceso del paso 30 con cada uno de
los objetos a los que le aplicará esta configuración
32. <Create> + (Scrollers) arrastre “BackGroundImage”
33. redimensione hasta ajustar y cambie <Edit> + (Scroller) + (Scroll Speed)=3.000
enter para ver movimiento
34. Cambie el Layer que usted crea mas adecuado para este efecto así:
<Edit> + (Scene Object) + (Layer) = 8
35. Pruebe los demás Scrollers y ajuste a su gusto…

También podría gustarte