SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Guía básica de Construct2
Programación de VideoJuegos
Fuente: http://www.scirra.com/tutorials/37/beginners-guide-to-construct-2

Informe Técnico
Instructivo de Instalación de Construct2

Laboratory Opensource Solutions
David Biava
Mauricio Westermeyer
Bastián Barrientos
Víctor Aravena
Victor.aravena@ufrontera.cl
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Primeros pasos:
Haga clic en el botón archivo y seleccione Nuevo.

En el cuadro de diálogo, Nuevo proyecto, no es necesario cambiar nada.
Construct 2 mantendrá el proyecto en su totalidad en un solo archivo. Capx como
extensión. Ahora podemos ver la vista principal de diseño, en el que se crearan y
colocarán los objetos. Véalo como un nivel del juego o una pantalla de menú. En otras
herramientas, esto podría haber sido llamado una escena o marco.
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Insertar objetos:
Fondo en forma de mosaico:
Lo primero que queremos es un mosaico de fondo repitiéndose. El objeto de fondo en
mosaico puede hacer esto por nosotros.

Haga doble clic en un espacio en el diseño para insertar un nuevo objeto. (Más
tarde, cuando el layout esté completo, también puede hacer esto haciendo clic derecho y
seleccionando Insertar nuevo objeto.) Una vez que el cuadro de diálogo Insertar nuevo
objeto aparece, haga doble clic en el objeto Tiled Background para insertarlo.
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Un “punto de mira” aparecerá para que usted pueda indicar dónde colocar el objeto. Haga
clic en algún lugar cerca de la mitad del layout. El editor de texturas ahora se abre, para
que usted pueda entrar en la textura de fondo. Vamos a importar la imagen
de mosaico que has guardado anteriormente. Haga clic en el icono de carpeta para cargar
una textura desde el disco, encontrar el punto donde está el archivo y selecciónelo.

Cierre el editor de texturas. Asegúrese de guardar el cambio! Ahora usted debe ver
el objeto como fondo en mosaico en el diseño. Vamos a cambiar su tamaño para
cubrir todo el trazado. Asegúrese de que está seleccionado, la Barra de Propiedades de la
izquierda debe mostrar todos los ajustes para el objeto, incluyendo su tamaño y
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

posición. Ajuste su posición a 0, 0 (la parte superior izquierda de la distribución), y su
tamaño para 1280,1024 (el tamaño del fondo).

Vamos a examinar nuestro trabajo. Mantenga el botón control y desplace la rueda del
mouse hacia abajo para alejar. De forma alternativa, haga clic en Ver - y aleje la imagen
un par de veces. Su fondo ahora debe cubrir todo el trazado actual:

Presione control + 0 o haga clic en Ver - Zoom al 100% para volver a la vista 1:1
Para ver tu fondo en un navegador, puedes apretar Run layout.
Añadir una capa
Bien, ahora queremos añadir más objetos. Sin embargo, podríamos por accidente
seleccionar el fondo a menos que lo bloqueáramos, puesto que es seleccionable. Vamos
a utilizar el sistema de capas para hacer esto.
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Los layout pueden tener varias capas, que se utilizan para agrupar los objetos. Imagine
estas capas como una lámina de vidrio puesta una encima de la otra. Con objetos
pintados en cada lámina.
Esto permite organizar fácilmente los objetos que aparecen superiores a los demás, estas
capas se pueden ocultar o impedir su uso utilizando la llave. Por ejemplo en este juego
requerimos que los objetos se vean sobre el fondo, para esto vamos a hacer otra capa en
la cual irán los demás objetos.
Para gestionar las capas, haga clic en la pestaña de Capas, que generalmente está al
lado de la barra del proyecto:

Usted debe ver a la capa 0 en la lista. Haga clic en el icono del lápiz y cambiarle el
nombre por fondo, ya que es nuestra capa de fondo. Ahora haga clic en el icono 'Añadir'
un signo más en verde, para añadir una nueva capa para los otros objetos. Vamos a
llamar a esta “principal”. Por último, si hace clic en el icono candado que está al lado del
nombre de la capa, está se bloqueará. Eso significa que usted no será capaz de
seleccionar algo en ella. Eso es muy conveniente para nuestro fondo , que es fácil para
seleccionar accidentalmente y no tendrá que ser tocado de nuevo. Sin embargo,
si necesita hacer cambios, puede hacer clic en el candado de nuevo para desbloquear.
Las casillas de verificación le permiten también ocultar las capas en el editor, pero no es
necesario en este momento. Su barra de capas debe parecerse a esto:
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Ahora, asegúrese de que la capa "principal" está seleccionada en la barra de capas. Esto
es importante - la capa seleccionada es la capa activa. Todos los nuevos objetos
insertados se
insertan a
la
capa
activa, por
lo
que
si no
está
seleccionada, podríamos insértalos en una capa equivocada. La capa activa se muestra
en la barra de estado, y también aparece al colocar un nuevo objeto.

Añadir los objetos de entrada

Diríjase a su layout o vista principal. Haga doble clic para insertar otro nuevo objeto. Esta
vez, seleccione el objeto Mouse, ya que usaremos el ratón. Haga lo mismo para el objeto
de teclado.
Nota: Para estos objetos no es necesario colocar en el layout o vista. Ellos están
ocultos, y funcionan automáticamente en el proyecto. Ahora todos los layout o vistas de
nuestro proyecto pueden aceptar entradas del ratón y teclado.
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Los objetos del juego
Es el momento de insertar nuestros objetos del juego!
Jugador:

Monstruo:

Explosión:
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Para cada uno de estos objetos, se va a utilizar un objeto tipo Sprite. Simplemente
muestra una textura, que puede moverse, girar y cambiar de tamaño. Los juegos por lo
general están compuestos en su mayoría a partir de objetos Sprite. Vamos a insertar cada
uno de los anteriores objetos. El proceso es similar al de insertar el fondo:

1. Haga doble clic para insertar un nuevo objeto
2. Haga doble clic en el objeto 'Sprite' .
3. Cuando el ratón se convierte en una cruz, haga clic en alguna parte del diseño. La
descripción debe ser 'principal'. (Recuerde que este es el diseño activo.)
4. El editor de imágenes aparece. Haga clic en el icono abrir, y cargue una de las
cuatro imágenes.
5. Cierre el editor de imágenes, guarde los cambios. Ahora debería ver el objeto en el
diseño!
Mueva los sprites de bala y explosión a alguna parte fuera del borde de la vista- no
queremos verlos
cuando se
inicia
el
juego.
Estos objetos se llaman Sprite, Sprite2, Sprite3 y Sprite4. Eso no es muy útil - esto puede
confundirte. Cambiar
el
nombre a Player,
Monster, bala y
explosión,
según
corresponda. Usted puede hacerlo seleccionando el objeto y a continuación, cambiar la
propiedad Name en la barra de propiedades:
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Añadir comportamientos

Los comportamientos son funcionalidades pre-hechas en construir 2. Por ejemplo,
puede añadir un comportamiento de plataforma a un objeto, y el comportamiento sólido en
el suelo, y al instante se puede pasar a un buen juego de plataformas. Usted puede hacer
lo mismo en los eventos, pero toma más tiempo. Así que vamos a echar un vistazo a los
comportamientos que podemos utilizar. Entre otras cosas, construir 2 dispone de estas
conductas;
- 8 direcciones de movimiento. Esto le permite mover un objeto con las teclas de flecha.
muy
bueno para
el
movimiento de
jugador.
- Movimiento de bala. Esto simplemente hace que se mueva hacia adelante un objeto en
su ángulo actual. Se va a usar mucho para las balas de los jugadores. A pesar del
nombre, también funciona muy bien para el movimiento de los monstruos – y todos los
objetos
con
movimiento
hacia
adelante
y
a
una
cierta
velocidad.
- Scroll to. Esto hace que la pantalla siga a un objeto que se mueve (también conocido
como desplazamiento). Esto
será
útil en
el
jugador.
- Bound to layout. Esto evitará que un objeto salga del área de diseño. Esto
también será útil para que la vista al reproducir no pueda desviarse fuera del área de
juego!
- Destroy outside layout. Esto destruye los objetos que salgan del área de juego. Es útil
para nuestras balas. Sin ello, las balas vuelan fuera de la pantalla para siempre, usando
un poco de memoria.
- Fade. Esto hace que un objeto se desvanezca poco a poco una vez que aparece.

Vamos a añadir estos comportamientos a los objetos que los necesitan.
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Cómo agregar un comportamiento

Vamos a añadir el comportamiento de dirección en 8 movimientos para el jugador. Haga
clic en el objeto para seleccionarlo. En la barra de propiedades, en la categoría
de comportamientos. Haga clic en Agregar / Editar .

Haga clic en el icono 'Añadir un comportamiento' la cruz verde que se muestra en la
ventana. Haga doble clic en el movimiento “8 direcciones” para añadirlo.
Haga lo mismo pero esta vez agregar Scroll To, para que la pantalla siga el jugador, y
también Bound to layout, para mantenerlos en el interior del diseño. El diálogo de los
comportamientos ahora debería tener este aspecto:
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Cierre la ventana de comportamientos. Guarde y Pulse Ejecutar para probar el juego.
Deben tener un navegador compatible con HTML5.

Agregar los otros comportamientos
Podemos agregar comportamientos a los otros objetos con el mismo método selecciónelo, haga clic en Agregar / Editar para abrir el diálogo de los comportamientos, y
añadir algunos comportamientos. Vamos a añadir los siguientes comportamientos:
1. Añadir el

Bullet movement y Destroy outside layout al objeto de bala.

2. Añadir el Bullet movement al objeto Monster (ya que sólo se mueve hacia adelante
también)
3. Añadir el comportamiento Fade al objeto de explosiones (desaparece poco a
poco después de aparecer). Por defecto, el comportamiento de fundido también
hace que el objeto en cuestión de destruya una vez de halla desvanecido
completamente.
Si se ejecuta el juego, es posible que note, que los monstruos se mueven con bastante
rapidez. Vamos a reducir la velocidad. Seleccione el objeto de Monster. Cómo ya hemos
añadido un comportamiento, algunas propiedades adicionales aparecen en la barra de
propiedades:
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Esto nos permite ajustar los comportamientos. Cambie la velocidad de400 a 80 (esto
es en píxeles por segundo).
Del mismo modo, cambiar la velocidad del objeto bala a 600, y el comportamiento de
fundido “fade of time” del objeto explosión a 0,5 (que es la mitad de un segundo).

Crear algunos monstruos más:
Manteniendo control, haga clic y arrastre el objeto de Monster. Usted notará que
genera otra instancia. Esto es simplemente otro objeto del tipo de objeto Monster.
Los tipos de objetos son esencialmente 'clases' de los objetos. Los eventos tratan
principalmente con tipos de objetos. Por ejemplo, usted podría hacer un evento que dice
que "si choca bala con Monster". Esto en realidad significa "En el caso de que un
objeto tipo bala choca con un objetos de cualquier instancia del tipo de Monster" - en lugar
de tener que hacer un evento por separado para cada uno de los monstruos. Con los
Sprites, todas las instancias de un tipo de objeto también comparten la misma
imagen. Esto es muy eficiente - cuando los jugadores juegan su juego en línea, en lugar
de tener que descargar 8 imágenes monstruo para 8 monstruos iguales, sólo es necesario
descargar una textura monstruo y construir 2 lo repite 8 veces. Vamos a cubrir más
información sobre los tipos de objetos frente a las instancias más tarde. Por ahora, un
buen ejemplo es Pensar que un enemigo “real” en realidad es una instancia de ese tipo de
objeto.
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Usa control + arrastrar, y crea 7 u 8 nuevos monstruos. No coloque ninguno demasiado
cerca del jugador, o podrían morir de inmediato.

Ahora es momento de pasar a los eventos:

Eventos
En primer lugar, haga clic en la pestaña de eventos, en la parte superior, al lado de la
pestaña layout, para cambiar a la hoja donde se editarán los eventos.. se pueden tener
hojas de eventos para las diferentes partes del juego, o para organizarlos. Una hoja
también puede incluir otras hojas de eventos, esto permite reutilizar los eventos de la
hoja incluida. Esto no será necesario en este ejemplo.

Acerca de los eventos
Como indica el texto de la hoja en blanco, construct2 “corre” todos los eventos de la hoja
una vez por tick. La mayoría de los monitores actualizan su pantalla 60 veces por
segundo, por lo que construct2 intentará que coincida esto con la visualización. Esto
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

significa
que
la hoja
de eventos normalmente
se
ejecuta 60
veces
por segundo, redibujando la pantalla cada vez. De esta manera se ordena: "ejecute
los eventos a
continuación,
luego
dibújelos
en la
pantalla".
Los eventos corren de arriba hacia abajo, por lo que los acontecimientos en la parte
superior
de
la
hoja de
eventos se
ejecutan
primero.
Condiciones, acciones y sub-eventos
Los eventos se refieren a las condiciones, prueba si se cumplen ciertos criterios, por
ejemplo, "¿está la barra espaciadora presionada”? Si todas estas condiciones se
cumplen, las acciones del evento se ejecutan, por ejemplo, "Crear un objeto de
bala". Después de que las acciones se han ejecutado, los sub eventos también
se ejecuta- éstos pueden probar más condiciones y a continuación, ejecutar más
acciones, a continuación, más sub-eventos, y así sucesivamente. Con el uso de
este sistema, podemos construir funcionalidades muy sofisticadas para nuestros juegos y
aplicaciones. Sin embargo no se van a usar sub eventos para este tutorial.

Vamos a repasar. En resumen, un evento básicamente es como sigue:


Están todas las condiciones que se requieren?
o Sí: se ejecutan todas las acciones del evento.
o No: ir

al siguiente

evento (sin

incluir los

sub-eventos).

Construct2 ofrece una gran cantidad de características de evento para cubrir un montón
de cosas diferentes que puede que necesiten hacer.

Su primer evento
Queremos que el jugador siempre “mire” hacia el ratón. Se parece a esto cuando haya
terminado:
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Recuerde que un Tick se ejecuta cada vez que se dibuja la pantalla, así que si
hacemos que el jugador mire hacia el mouse en cada Tick, parecerá que siempre está
mirando hacia el ratón.
Vamos a empezar a hacer este evento. Haga doble clic en un espacio en la hoja de
eventos. Esto nos pedirá agregar una condición para el nuevo evento.

Objetos diferentes tienen diferentes condiciones y acciones en función de lo que pueden
hacer. Está también el objeto de sistema, el que representa funcionalidades integrada de
Construct2 . Haga doble clic en el objeto de sistema, como se muestra. El diálogo
entonces muestra una lista de todas las condiciones del objeto de sistema:
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Haga doble clic en la condición de every tick para insertarlo. El diálogo se cierra y el
evento se crea, sin acciones. Ahora debería tener este aspecto:

Ahora queremos agregar una acción, que es hacer que el jugador mire al ratón. Haga
clic en el enlace de acción que está a la derecha del evento. El cuadro de diálogo agregar
acción aparecerá:
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Al igual que al agregar un evento, tenemos nuestra misma lista de objetos para
elegir, pero esta vez es para añadir una acción Como se muestra, haga doble clic en el
objeto Player, ya que queremos que el jugador mire en todo momento al ratón. La lista de
acciones disponibles en el objeto Player aparece:

Observe como en las acciones de jugador 8direction tiene sus propios comportamientos
de movimiento. No hace falta preocuparse por eso ahora.
En lugar de ajustar el ángulo del jugador a un número de grados, es conveniente utilizar
Set angle towards position. Esta calculará automáticamente el ángulo donde tiene que ir
el objeto jugador en las coordenadas x e y, a continuación, ajustar el ángulo del objeto a
eso. Haga doble clic en Set angle towards position.
Construct2 ahora tiene que saber la coordenada X y Y para señalar al jugador donde
“mirar”:
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Esto se denomina parámetros de la acción. Las condiciones pueden tener algunos
parámetros, pero everytick no necesita ninguno.
Queremos establecer el ángulo hacia la posición del ratón. El objeto mouse puede
proporcionar esto. Ingrese Mouse.X para X y Mouse.Y para Y. estas se llaman
expresiones. Son los montos que se calculan. Por ejemplo, podría también ingresar
Mouse.X+100 para X, y sin(Mouse.Y ) para Y. De esta manera se puede utilizar cualquier
dato, de cualquier objeto, o de cualquier cálculo, esto para elaborar parámetros en las
acciones y condiciones. Es muy potente y una fuente oculta de la flexibilidad de
construct2.
¿Recibió un error que dice "El mouse no es un nombre de objeto"? Asegúrese de que ha
añadido el objeto Mouse.

Haga clic en el “done” en el dialogo de parámetros. La acción se agrega, debería tener
este aspecto:

Su primer evento! Trate de ejecutar el juego, y el jugador ahora debe ser capaz de
moverse como antes, pero siempre de cara al ratón. Este es nuestro primer bit de una
funcionalidad personalizada.

Agregar funcionalidades del juego
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Si cada evento es descrito con tanto detalle como antes, va a ser un tutorial muy
largo. Vamos a hacer una breve descripción para los próximos eventos. Recuerde, los
pasos
para
agregar una
condición
o
acción son
los
siguientes:
1. Haga doble clic para insertar un nuevo evento, o haga clic en un vínculo de la
acción agregar para agregar una acción.
2. Haga doble clic en el objeto de la condición / acción.
3. Haga doble clic en la condición / acción que desee.
4. Introduzca los parámetros, si es que hacen falta.
De ahora en adelante, los eventos se describe como el objeto, seguido por la
condición / acción, seguido de los parámetros. Por ejemplo, el caso que acabamos de
insertar se podría escribir:
1. Add condition System -> Every tick
2. Add action Player -> Set angle towards position -> X: Mouse.X, Y: Mouse.Y
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Hacer que el jugador dispare:

Cuando el jugador hace clic, se debe disparar una bala. Esto se puede hacer con la
acción Spawn an object del jugador, lo que crea una nueva instancia de un objeto en la
misma posición y ángulo. El movimiento de bala que agregó anteriormente a continuación
hará ir hacia delante la bala. Haga el siguiente evento:
1. Condition: Mouse -> On click -> Left clicked (the default)
2. Action: Player -> Spawn another object -> For Object, escoge el objeto bala. Para
el Layer, coloca 1 deja Image point en 0.

Debe parecerse a esto:

Si se ejecuta el juego, te darás cuenta que las balas se disparan desde el centro
del jugador, en lugar del final de la pistola. Vamos a fijar mediante la colocación de un
punto de imagen en el extremo de la pistola.
Haga clic con el jugador en el proyecto o la barra de objetos y seleccione Editar
animaciones.

El editor de imágenes para el jugador aparece. Haga clic en la imagen de origen y la
herramienta de puntos:
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

... y el cuadro de diálogo de los puntos de imagen se abre

Observe que el origen del objeto aparece como una mancha roja. Ese es el "punto
caliente" o "punto de giro" del objeto. Si gira el objeto, éste gira en torno al origen.
Queremos añadir otro punto de la imagen para representar a la pistola, así que haga
clic en el botón añadir verde. Un punto azul aparece - ese es nuestro punto nuevo. Haga
clic izquierdo en el extremo de la pistola del jugador para colocar el punto de la
imagen allí:
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Cierre el editor de imágenes. Haga doble clic la acción que agregó anteriormente
y cambiar el punto de la imagen a 1. (. El origen es siempre el punto de la primera
imagen) El evento debe parecerse al de abajo.

Ejecute el juego. Las balas ya se deberían disparar desde el extremo de su pistola Las
balas por el momento no hacen nada. Esperemos, sin embargo, que usted comenzara
a darse cuenta, de que una vez que llegue a familiarizarse con el sistema de eventos,
podrá poner las funcionalidades con mayor rapidez.
Vamos a hacer que las balas maten a los monstruos. Añadir el siguiente evento:

1. Condition: Bullet -> On collision with another object -> pick Monster.
2. Action: Monster -> Destroy
3. Action: Bullet -> Spawn another object -> Explosion, layer 1
4. Action: Bullet -> Destroy

El efecto de la explosión
Ejecutar el juego, y dispárale a un monstruo. Vaya, la explosión tiene un enorme borde
negro.

Usted podría haber predicho esto desde el principio, y se preguntó si nuestro
juego realmente iba a acabar así. No te preocupes, no lo hará. Haga clic en el objeto de
explosión, ya sea en la barra de objetos en la parte inferior derecha, o en la barra del
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

proyecto. Sus propiedades aparecen en la barra de propiedades de la izquierda. En la
parte inferior, establezca en su propiedad al efecto aditivo. Ahora prueba el juego de
nuevo.

¿Por qué funciona esto? Las imágenes normales se pegan en la parte superior de la
pantalla. Con el efecto aditivo, cada pixel es añadido con el píxel del fondo detrás de él. El
negro es un valor de píxel cero, por lo que nada se añade – por lo que no se ve el fondo
negro. Es muy bueno para las explosiones y efectos de iluminación.
Hacer monstruos un poco más inteligente
Ahora los monstruos simplemente se pasean a la derecha de la vista. Vamos a hacer que
ellos sean un poco más interesantes. En primer lugar, van a comenzar en un ángulo
al azar.
1. Condition: System -> On start of Layout
2. Action: Monster -> Set angle -> random(360)

Todavía vagará para siempre cuando salga de la vista, para nunca ser visto otra
vez. Vamos a mantenerlos dentro. Lo que vamos a hacer es que vuelvan al jugador al
salir de la vista. Esto hace dos cosas: que siempre se mantengan dentro de la
disposición, y si el jugador se queda quieto, los monstruos vienen directo hacia él.

1. Condition: Monster -> Is outside layout
2. Action: Monster -> Set angle toward position -> For X, Player.X - for Y, Player.Y.
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Ejecute el juego. Si usted se mueve alrededor por un tiempo, te darás cuenta que los
monstruos quedan alrededor de la vista, y van en todo tipo de direcciones.
Ahora, supongamos que tenemos que disparar a un monstruo cinco veces antes de que
este muera, en lugar de una muerte instantánea, como es en este momento. ¿Cómo lo
hacemos? Si sólo se almacena en un contador de salud global, entonces una vez
que hemos disparado a un monstruo cinco veces, todos los monstruos van a morir. En
cambio, necesitamos que cada monstruo tenga su propia salud. Podemos hacer eso
con las variables de instancia.
Las variables de instancia
Las variables de instancia permitir que cada monstruo pueda almacenar un valor para su
salud. Una variable es simplemente un valor que puede cambiar (o modificarse), y se
almacenan por separado para cada caso.
Agregar una variable de instancia de nombre salud a nuestro monstruo. Haga clic en el
monstruo en la barra de proyecto o barra de objetos. Alternativamente, usted puede
cambiar de nuevo a la vista de diseño y seleccionar un objeto de monstruo. Esto mostrará
las propiedades de los monstruos en la barra de propiedades. Haga clic en Agregar /
editar las variables de instancia.

El cuadro de diálogo Variables de Instancia aparece. Es similar al cuadro de diálogo de
Comportamientos que hemos visto anteriormente, pero este le permite añadir y
cambiar las variables de instancia para el objeto. Haga clic en el botón verde agregar
para agregar una nueva variable
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

En el cuadro de dialogo que aparece, para el nombre coloque salud, deje el tipo en
número, y por valor inicial 5 (como se muestra). Así se inicia en 5 la salud de todos los
monstruos. Cuando se recibe un balazo vamos a restar 1 a la salud y cuando la salud sea
cero, vamos a destruir el objeto.
Una vez que haya terminado haga clic en Aceptar. Tenga en cuenta que la
variable aparece ahora en el cuadro de diálogo variables de instancia y también en las
propiedades para el monstruo. (Así puede cambiar rápidamente los valores iniciales en la
barra de propiedades.
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Cambio de los eventos

Vuelva a la hoja de evento. En este momento, estamos destruyendo los monstruos, tan
pronto como la bala les pega. Vamos a cambiar eso y restaremos 1 a su salud.
Encontrar el caso de que se lee: Bullet - on collision with Monster. Entonces la
acción "destroy monster”. Vamos a sustituirla por "restar 1 a la salud". Haga clic en la
acción "destruir monstruo" y haga clic en Reemplazar.

En el cuadro de diálogo aparece como si estuviéramos introduciendo una nueva
acción, pero esta vez va a sustituir la acción por una nueva. Elija Monster -> Subtract
from (variables de instancia) - Instancia> variable "salud". Haga clic en Done. La
acción debe aparecer ahora de esta manera

Ahora, cuando le disparemos a los monstruos estos pierden uno de salud y la bala estalla,
pero aún no hemos hecho una acción que mate a los monstruos cuando su salud llegue a
cero. Añadiremos eso en otro evento:
1. Condition: Monster -> Compare instance variable -> Health, Less or equal, 0
2. Action: Monster -> Spawn another object -> Explosion, layer 1
3. Action: Monster -> Destroy
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

¿Por qué " menor o igual a 0" y no "es igual a 0"? Supongamos que hemos añadido otra
arma más poderosa que resta 2 de salud. A medida que disparemos al monstruo, su
salud va en 5, 3, 1, -1, -3, etc. En ningún momento fue igual a cero, entonces nunca va a
morir. Por lo tanto, es una buena práctica utilizar "menor o igual" para comprobar si la
salud se ha agotado.
Ejecutar el juego. Ahora tiene que golpear a los monstruos cinco veces para matarlos
La puntuación
Vamos a tener una puntuación para que el jugador vea cuantos monstruos ha matado.
Vamos a necesitar una variable para ello. Se podría pensar “Pondré una variable de
instancia al jugador” No es una mala idea, pero recuerde que el valor se almacena en el
objeto. Por lo tanto si el objeto muere. Se perdería el contador.
En su lugar, podemos utilizar una variable global. Al igual que una variable de instancia,
en una variable global se puede almacenar texto o un número. Sin embargo, sólo hay
un valor almacenado, y este también está disponible para todo el juego en todos
los layout - conveniente si le sumamos otros niveles.
Haga clic derecho en el espacio en la parte inferior de la hoja de evento, y seleccione
Agregar variable global.
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Escriba puntaje en el nombre. Los otros valores predeterminados están bien, va ser un
número que comienza en 0.

Ahora la variable global aparece como una línea en la hoja de evento. Es en esta hoja
de evento, aunque se puede acceder a ella en cualquier otra hoja de eventos. (Si las
hubiera).

Vamos a dar al jugador un punto por matar a un monstruo. En nuestro evento "Monster:
health less or equal 0" (cuando un monstruo muere), haga clic en Agregar acción y
seleccione System -> Add to (under Global & local variables) -> Score, value 1.
Debería verse así;

Ahora el jugador tiene una puntuación, lo que aumenta en 1 por cada monstruo que
mata - pero no puede ver su puntuación. Vamos a mostrar aquello con un objeto de texto.
Creación de un heads-up display (HUD)
Una pantalla de heads-up (también conocido como HUD) es la interfaz que se muestra al
jugador, donde está la salud, la puntuación y otra información del juego. Vamos a hacer
una HUD de un objeto de texto.

El HUD se mantiene siempre en el mismo lugar en la pantalla. Si tenemos algunos objetos
de la interfaz, no queremos que se desplace a medida que el jugador camina alrededor,
debe permanecer en la pantalla. De forma predeterminada, las capas se desplazan. Para
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

evitar que la pantalla se desplace, podemos utilizar la configuración de la capa
de Parallax. Parallax permite
que diferentes
capas se
desplazasen a
diferentes
velocidades para una especie de semi-efecto 3D. Si fijamos la paralaje a cero, sin
embargo, la capa no se desplazará - ideal para un HUD.
Volver a la barra de capas que se utilizó anteriormente. Añadir una nueva capa
llamada HUD. Asegúrese de que sea en la parte superior, y selecciónela (recuerda que
esto hace que sea la capa activa). La barra de Propiedades ahora debe mostrar sus
propiedades. Establezca la propiedad Parallax a 0, 0 (que es cero en ambos ejes X e Y).
Haga doble clic en un espacio para insertar otro objeto. Esta vez, elegir el objeto de
texto. Colóquelo en la esquina superior izquierda del diseño. Va a ser difícil de ver si es
negro, por lo que en la barra de propiedades, ponerlo en negrita, cursiva, color amarillo, y
elegir un tamaño de letra un poco más grande. Cambiar el tamaño lo suficientemente
amplia como para adaptarse a una cantidad razonable de texto. Debe ser algo como esto:

Vuelva a la hoja de eventos. Necesitamos que el texto sea actualizado con la
puntuación del jugador. En el evento every Tick añadido anteriormente, agrega la acción
de texto - Text -> Set text
Utilizando el operador &, podemos convertir un número a texto y unirlo a otra cadena de
texto. Así que en el texto, escriba: "Score:" & Score

La primera parte ("Score:") significa que el texto siempre se iniciará con esa frase: La
segunda parte es el valor real de la variable global de puntuación. El & une a los dos
en un trozo
de
texto.
Ejecutar el juego, y disparar a algunos monstruos. Su puntuación se muestra, y se
mantiene en el mismo lugar en la pantalla.
Centro de Estudios de Ingeniería de Software
LABORATORY OPENSOURCE SOLUTION

Toques finales

Estamos a

punto

de

terminar. Vamos

a

añadir algunos

toques finales.

En primer lugar, vamos a tener algunos monstruos apareciendo regularmente, de lo
contrario una vez que has disparado a todos los monstruos no habría nada más que
hacer. Vamos a crear un nuevo monstruo cada 3 segundos. Añadir un nuevo evento:
1. Condition: System -> Every X seconds -> 3
2. Action: System -> Create object -> Monster, layer 1, 1400 (for X), random(1024)
(for Y)
1400 es una coordenada X al lado de la orilla derecha de la vista, y al azar (1024) es
una aleatoria Y coordina la altura de la vista.
Por

último,

los

Monstruos

podrán

matar

1. Condition: Monster -> On collision with another object -> Player
2. Action: Player -> Destroy

al

jugador.

Más contenido relacionado

La actualidad más candente

Bienvenido y enhorabuena
Bienvenido y enhorabuenaBienvenido y enhorabuena
Bienvenido y enhorabuenacolombiasantafe
 
Taller smart devices
Taller smart devicesTaller smart devices
Taller smart devicesGeneXus
 
Scratch guiareferencia
Scratch guiareferenciaScratch guiareferencia
Scratch guiareferenciaGladys León
 
1 introduccion a la gui de unity3 d
1   introduccion a la gui de unity3 d1   introduccion a la gui de unity3 d
1 introduccion a la gui de unity3 dSilveiro Icasa
 
Tutorial game maker
Tutorial game makerTutorial game maker
Tutorial game makerJoserichi
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SDGeneXus
 

La actualidad más candente (8)

Bienvenido y enhorabuena
Bienvenido y enhorabuenaBienvenido y enhorabuena
Bienvenido y enhorabuena
 
Game Maker Primera parte
Game Maker Primera parteGame Maker Primera parte
Game Maker Primera parte
 
Taller smart devices
Taller smart devicesTaller smart devices
Taller smart devices
 
Scratch guiareferencia
Scratch guiareferenciaScratch guiareferencia
Scratch guiareferencia
 
1 introduccion a la gui de unity3 d
1   introduccion a la gui de unity3 d1   introduccion a la gui de unity3 d
1 introduccion a la gui de unity3 d
 
Tutorial game maker
Tutorial game makerTutorial game maker
Tutorial game maker
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SD
 
Introduccion a unity
Introduccion a unityIntroduccion a unity
Introduccion a unity
 

Destacado (20)

Carros de carreras brayan palacios
Carros de carreras  brayan palaciosCarros de carreras  brayan palacios
Carros de carreras brayan palacios
 
Alum ve2013
Alum ve2013Alum ve2013
Alum ve2013
 
Día Nacional de la Nutrición 2013
Día Nacional de la Nutrición 2013Día Nacional de la Nutrición 2013
Día Nacional de la Nutrición 2013
 
C:\Fakepath\Eval1 MªDel Mar Osorio
C:\Fakepath\Eval1 MªDel Mar OsorioC:\Fakepath\Eval1 MªDel Mar Osorio
C:\Fakepath\Eval1 MªDel Mar Osorio
 
Alla vet allt om dig
Alla vet allt om digAlla vet allt om dig
Alla vet allt om dig
 
Futuro del email
Futuro del emailFuturo del email
Futuro del email
 
34 37 repor retribucion
34 37 repor retribucion34 37 repor retribucion
34 37 repor retribucion
 
Sifrol
SifrolSifrol
Sifrol
 
Tab en 1
Tab en 1Tab en 1
Tab en 1
 
Qo s requirements networking application
Qo s requirements networking applicationQo s requirements networking application
Qo s requirements networking application
 
FATCA 2014 Brochure
FATCA 2014 BrochureFATCA 2014 Brochure
FATCA 2014 Brochure
 
Recorrido do río ebro
Recorrido do río ebroRecorrido do río ebro
Recorrido do río ebro
 
Ahmed Elnozahy CV
Ahmed Elnozahy  CVAhmed Elnozahy  CV
Ahmed Elnozahy CV
 
SenseByte MoviCRM
SenseByte MoviCRMSenseByte MoviCRM
SenseByte MoviCRM
 
Dientes caricaturas
Dientes caricaturasDientes caricaturas
Dientes caricaturas
 
Normes d´us de la xarxa informatica
Normes d´us de la xarxa informaticaNormes d´us de la xarxa informatica
Normes d´us de la xarxa informatica
 
Innovacion
InnovacionInnovacion
Innovacion
 
Power Services
Power ServicesPower Services
Power Services
 
Literature Review(1)
Literature Review(1)Literature Review(1)
Literature Review(1)
 
Go Course Day1
Go Course Day1Go Course Day1
Go Course Day1
 

Similar a 3. tutorialguiabasico 2014

Similar a 3. tutorialguiabasico 2014 (20)

1. tutorial unity3d introducción
1.  tutorial unity3d introducción1.  tutorial unity3d introducción
1. tutorial unity3d introducción
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Tutorial unity3d 1_español
Tutorial unity3d 1_españolTutorial unity3d 1_español
Tutorial unity3d 1_español
 
Guia 3 8 Scratch
Guia 3 8 ScratchGuia 3 8 Scratch
Guia 3 8 Scratch
 
Guia 3 6 scratch_4_periodo
Guia 3 6 scratch_4_periodoGuia 3 6 scratch_4_periodo
Guia 3 6 scratch_4_periodo
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Guia 3 7 scratch_4_periodo
Guia 3 7 scratch_4_periodoGuia 3 7 scratch_4_periodo
Guia 3 7 scratch_4_periodo
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
Guia 3 6 scratch_4_periodo
Guia 3 6 scratch_4_periodoGuia 3 6 scratch_4_periodo
Guia 3 6 scratch_4_periodo
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 
0a476c4b48d664068c084ccc201d13
0a476c4b48d664068c084ccc201d130a476c4b48d664068c084ccc201d13
0a476c4b48d664068c084ccc201d13
 
Scratch informacion
Scratch informacionScratch informacion
Scratch informacion
 
Tutorial manejo de_scratch
Tutorial manejo de_scratchTutorial manejo de_scratch
Tutorial manejo de_scratch
 
parte 4 manual 2022.pdf
parte 4 manual 2022.pdfparte 4 manual 2022.pdf
parte 4 manual 2022.pdf
 
Manual scratch
Manual scratchManual scratch
Manual scratch
 

Más de Victor Aravena

Personajes y comerciantes del mercado municipal
Personajes y comerciantes del mercado municipalPersonajes y comerciantes del mercado municipal
Personajes y comerciantes del mercado municipalVictor Aravena
 
Presentación CISTI 2016 "Distinciones Conceptuales para la Trazabilidad de l...
Presentación CISTI 2016 "Distinciones Conceptuales para la Trazabilidad de l...Presentación CISTI 2016 "Distinciones Conceptuales para la Trazabilidad de l...
Presentación CISTI 2016 "Distinciones Conceptuales para la Trazabilidad de l...Victor Aravena
 
Taller generación codigopersistenciaderby-netbeans
Taller generación codigopersistenciaderby-netbeansTaller generación codigopersistenciaderby-netbeans
Taller generación codigopersistenciaderby-netbeansVictor Aravena
 
Introdución Typo3 6.2
Introdución Typo3 6.2Introdución Typo3 6.2
Introdución Typo3 6.2Victor Aravena
 
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+Victor Aravena
 
Estrategia e Implementación de Sistema Sidra en Chile!!!
Estrategia e Implementación de Sistema Sidra en Chile!!!Estrategia e Implementación de Sistema Sidra en Chile!!!
Estrategia e Implementación de Sistema Sidra en Chile!!!Victor Aravena
 
2. tutorial unity3d-disparo
2.  tutorial unity3d-disparo2.  tutorial unity3d-disparo
2. tutorial unity3d-disparoVictor Aravena
 
6. revisión y modificación del juego -“space blaster”- Construct 5 - VideoGame
6.  revisión y modificación del juego -“space blaster”- Construct 5 - VideoGame6.  revisión y modificación del juego -“space blaster”- Construct 5 - VideoGame
6. revisión y modificación del juego -“space blaster”- Construct 5 - VideoGameVictor Aravena
 
4. elementos apoyotaller-tutorialguiabasica 2014
4.  elementos apoyotaller-tutorialguiabasica 20144.  elementos apoyotaller-tutorialguiabasica 2014
4. elementos apoyotaller-tutorialguiabasica 2014Victor Aravena
 
2. principales elementos
2.  principales elementos2.  principales elementos
2. principales elementosVictor Aravena
 
1. instalaciondeconstruct2 2014
1.  instalaciondeconstruct2 20141.  instalaciondeconstruct2 2014
1. instalaciondeconstruct2 2014Victor Aravena
 
5. taller tutorial-guiabasica 2014
5.  taller tutorial-guiabasica 20145.  taller tutorial-guiabasica 2014
5. taller tutorial-guiabasica 2014Victor Aravena
 
2. tutorial unity3d-disparo
2.  tutorial unity3d-disparo2.  tutorial unity3d-disparo
2. tutorial unity3d-disparoVictor Aravena
 
Acm ioi-olimpiada informática - universidad frontera 2013
Acm ioi-olimpiada informática - universidad frontera 2013Acm ioi-olimpiada informática - universidad frontera 2013
Acm ioi-olimpiada informática - universidad frontera 2013Victor Aravena
 
Curso veranovideojuegos 2014
Curso veranovideojuegos 2014Curso veranovideojuegos 2014
Curso veranovideojuegos 2014Victor Aravena
 
Factorial again! Olimpiada Informática Media IOI- ACM
Factorial again! Olimpiada  Informática Media IOI- ACMFactorial again! Olimpiada  Informática Media IOI- ACM
Factorial again! Olimpiada Informática Media IOI- ACMVictor Aravena
 
Formulario de implementación de componentes de software transaccional de amb...
Formulario de implementación de  componentes de software transaccional de amb...Formulario de implementación de  componentes de software transaccional de amb...
Formulario de implementación de componentes de software transaccional de amb...Victor Aravena
 
Taller1 generación codigopersistencia
Taller1 generación codigopersistenciaTaller1 generación codigopersistencia
Taller1 generación codigopersistenciaVictor Aravena
 

Más de Victor Aravena (20)

Personajes y comerciantes del mercado municipal
Personajes y comerciantes del mercado municipalPersonajes y comerciantes del mercado municipal
Personajes y comerciantes del mercado municipal
 
Presentación CISTI 2016 "Distinciones Conceptuales para la Trazabilidad de l...
Presentación CISTI 2016 "Distinciones Conceptuales para la Trazabilidad de l...Presentación CISTI 2016 "Distinciones Conceptuales para la Trazabilidad de l...
Presentación CISTI 2016 "Distinciones Conceptuales para la Trazabilidad de l...
 
Taller generación codigopersistenciaderby-netbeans
Taller generación codigopersistenciaderby-netbeansTaller generación codigopersistenciaderby-netbeans
Taller generación codigopersistenciaderby-netbeans
 
Introdución Typo3 6.2
Introdución Typo3 6.2Introdución Typo3 6.2
Introdución Typo3 6.2
 
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
 
Estrategia e Implementación de Sistema Sidra en Chile!!!
Estrategia e Implementación de Sistema Sidra en Chile!!!Estrategia e Implementación de Sistema Sidra en Chile!!!
Estrategia e Implementación de Sistema Sidra en Chile!!!
 
2. tutorial unity3d-disparo
2.  tutorial unity3d-disparo2.  tutorial unity3d-disparo
2. tutorial unity3d-disparo
 
6. revisión y modificación del juego -“space blaster”- Construct 5 - VideoGame
6.  revisión y modificación del juego -“space blaster”- Construct 5 - VideoGame6.  revisión y modificación del juego -“space blaster”- Construct 5 - VideoGame
6. revisión y modificación del juego -“space blaster”- Construct 5 - VideoGame
 
4. elementos apoyotaller-tutorialguiabasica 2014
4.  elementos apoyotaller-tutorialguiabasica 20144.  elementos apoyotaller-tutorialguiabasica 2014
4. elementos apoyotaller-tutorialguiabasica 2014
 
2. principales elementos
2.  principales elementos2.  principales elementos
2. principales elementos
 
1. instalaciondeconstruct2 2014
1.  instalaciondeconstruct2 20141.  instalaciondeconstruct2 2014
1. instalaciondeconstruct2 2014
 
5. taller tutorial-guiabasica 2014
5.  taller tutorial-guiabasica 20145.  taller tutorial-guiabasica 2014
5. taller tutorial-guiabasica 2014
 
2. tutorial unity3d-disparo
2.  tutorial unity3d-disparo2.  tutorial unity3d-disparo
2. tutorial unity3d-disparo
 
Acm ioi-olimpiada informática - universidad frontera 2013
Acm ioi-olimpiada informática - universidad frontera 2013Acm ioi-olimpiada informática - universidad frontera 2013
Acm ioi-olimpiada informática - universidad frontera 2013
 
Curso veranovideojuegos 2014
Curso veranovideojuegos 2014Curso veranovideojuegos 2014
Curso veranovideojuegos 2014
 
Factorial again! Olimpiada Informática Media IOI- ACM
Factorial again! Olimpiada  Informática Media IOI- ACMFactorial again! Olimpiada  Informática Media IOI- ACM
Factorial again! Olimpiada Informática Media IOI- ACM
 
Formulario de implementación de componentes de software transaccional de amb...
Formulario de implementación de  componentes de software transaccional de amb...Formulario de implementación de  componentes de software transaccional de amb...
Formulario de implementación de componentes de software transaccional de amb...
 
Encuentro linux 2013
Encuentro linux 2013Encuentro linux 2013
Encuentro linux 2013
 
Taller1 generación codigopersistencia
Taller1 generación codigopersistenciaTaller1 generación codigopersistencia
Taller1 generación codigopersistencia
 
Resumen typo3
Resumen typo3Resumen typo3
Resumen typo3
 

Último

presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...axelv9257
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...solanocortezluisalfr
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfaxelv9257
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxgustavovasquezv56
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Último (14)

presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

3. tutorialguiabasico 2014

  • 1. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Guía básica de Construct2 Programación de VideoJuegos Fuente: http://www.scirra.com/tutorials/37/beginners-guide-to-construct-2 Informe Técnico Instructivo de Instalación de Construct2 Laboratory Opensource Solutions David Biava Mauricio Westermeyer Bastián Barrientos Víctor Aravena Victor.aravena@ufrontera.cl
  • 2. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Primeros pasos: Haga clic en el botón archivo y seleccione Nuevo. En el cuadro de diálogo, Nuevo proyecto, no es necesario cambiar nada. Construct 2 mantendrá el proyecto en su totalidad en un solo archivo. Capx como extensión. Ahora podemos ver la vista principal de diseño, en el que se crearan y colocarán los objetos. Véalo como un nivel del juego o una pantalla de menú. En otras herramientas, esto podría haber sido llamado una escena o marco.
  • 3. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Insertar objetos: Fondo en forma de mosaico: Lo primero que queremos es un mosaico de fondo repitiéndose. El objeto de fondo en mosaico puede hacer esto por nosotros. Haga doble clic en un espacio en el diseño para insertar un nuevo objeto. (Más tarde, cuando el layout esté completo, también puede hacer esto haciendo clic derecho y seleccionando Insertar nuevo objeto.) Una vez que el cuadro de diálogo Insertar nuevo objeto aparece, haga doble clic en el objeto Tiled Background para insertarlo.
  • 4. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Un “punto de mira” aparecerá para que usted pueda indicar dónde colocar el objeto. Haga clic en algún lugar cerca de la mitad del layout. El editor de texturas ahora se abre, para que usted pueda entrar en la textura de fondo. Vamos a importar la imagen de mosaico que has guardado anteriormente. Haga clic en el icono de carpeta para cargar una textura desde el disco, encontrar el punto donde está el archivo y selecciónelo. Cierre el editor de texturas. Asegúrese de guardar el cambio! Ahora usted debe ver el objeto como fondo en mosaico en el diseño. Vamos a cambiar su tamaño para cubrir todo el trazado. Asegúrese de que está seleccionado, la Barra de Propiedades de la izquierda debe mostrar todos los ajustes para el objeto, incluyendo su tamaño y
  • 5. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION posición. Ajuste su posición a 0, 0 (la parte superior izquierda de la distribución), y su tamaño para 1280,1024 (el tamaño del fondo). Vamos a examinar nuestro trabajo. Mantenga el botón control y desplace la rueda del mouse hacia abajo para alejar. De forma alternativa, haga clic en Ver - y aleje la imagen un par de veces. Su fondo ahora debe cubrir todo el trazado actual: Presione control + 0 o haga clic en Ver - Zoom al 100% para volver a la vista 1:1 Para ver tu fondo en un navegador, puedes apretar Run layout. Añadir una capa Bien, ahora queremos añadir más objetos. Sin embargo, podríamos por accidente seleccionar el fondo a menos que lo bloqueáramos, puesto que es seleccionable. Vamos a utilizar el sistema de capas para hacer esto.
  • 6. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Los layout pueden tener varias capas, que se utilizan para agrupar los objetos. Imagine estas capas como una lámina de vidrio puesta una encima de la otra. Con objetos pintados en cada lámina. Esto permite organizar fácilmente los objetos que aparecen superiores a los demás, estas capas se pueden ocultar o impedir su uso utilizando la llave. Por ejemplo en este juego requerimos que los objetos se vean sobre el fondo, para esto vamos a hacer otra capa en la cual irán los demás objetos. Para gestionar las capas, haga clic en la pestaña de Capas, que generalmente está al lado de la barra del proyecto: Usted debe ver a la capa 0 en la lista. Haga clic en el icono del lápiz y cambiarle el nombre por fondo, ya que es nuestra capa de fondo. Ahora haga clic en el icono 'Añadir' un signo más en verde, para añadir una nueva capa para los otros objetos. Vamos a llamar a esta “principal”. Por último, si hace clic en el icono candado que está al lado del nombre de la capa, está se bloqueará. Eso significa que usted no será capaz de seleccionar algo en ella. Eso es muy conveniente para nuestro fondo , que es fácil para seleccionar accidentalmente y no tendrá que ser tocado de nuevo. Sin embargo, si necesita hacer cambios, puede hacer clic en el candado de nuevo para desbloquear. Las casillas de verificación le permiten también ocultar las capas en el editor, pero no es necesario en este momento. Su barra de capas debe parecerse a esto:
  • 7. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Ahora, asegúrese de que la capa "principal" está seleccionada en la barra de capas. Esto es importante - la capa seleccionada es la capa activa. Todos los nuevos objetos insertados se insertan a la capa activa, por lo que si no está seleccionada, podríamos insértalos en una capa equivocada. La capa activa se muestra en la barra de estado, y también aparece al colocar un nuevo objeto. Añadir los objetos de entrada Diríjase a su layout o vista principal. Haga doble clic para insertar otro nuevo objeto. Esta vez, seleccione el objeto Mouse, ya que usaremos el ratón. Haga lo mismo para el objeto de teclado. Nota: Para estos objetos no es necesario colocar en el layout o vista. Ellos están ocultos, y funcionan automáticamente en el proyecto. Ahora todos los layout o vistas de nuestro proyecto pueden aceptar entradas del ratón y teclado.
  • 8. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Los objetos del juego Es el momento de insertar nuestros objetos del juego! Jugador: Monstruo: Explosión:
  • 9. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Para cada uno de estos objetos, se va a utilizar un objeto tipo Sprite. Simplemente muestra una textura, que puede moverse, girar y cambiar de tamaño. Los juegos por lo general están compuestos en su mayoría a partir de objetos Sprite. Vamos a insertar cada uno de los anteriores objetos. El proceso es similar al de insertar el fondo: 1. Haga doble clic para insertar un nuevo objeto 2. Haga doble clic en el objeto 'Sprite' . 3. Cuando el ratón se convierte en una cruz, haga clic en alguna parte del diseño. La descripción debe ser 'principal'. (Recuerde que este es el diseño activo.) 4. El editor de imágenes aparece. Haga clic en el icono abrir, y cargue una de las cuatro imágenes. 5. Cierre el editor de imágenes, guarde los cambios. Ahora debería ver el objeto en el diseño! Mueva los sprites de bala y explosión a alguna parte fuera del borde de la vista- no queremos verlos cuando se inicia el juego. Estos objetos se llaman Sprite, Sprite2, Sprite3 y Sprite4. Eso no es muy útil - esto puede confundirte. Cambiar el nombre a Player, Monster, bala y explosión, según corresponda. Usted puede hacerlo seleccionando el objeto y a continuación, cambiar la propiedad Name en la barra de propiedades:
  • 10. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Añadir comportamientos Los comportamientos son funcionalidades pre-hechas en construir 2. Por ejemplo, puede añadir un comportamiento de plataforma a un objeto, y el comportamiento sólido en el suelo, y al instante se puede pasar a un buen juego de plataformas. Usted puede hacer lo mismo en los eventos, pero toma más tiempo. Así que vamos a echar un vistazo a los comportamientos que podemos utilizar. Entre otras cosas, construir 2 dispone de estas conductas; - 8 direcciones de movimiento. Esto le permite mover un objeto con las teclas de flecha. muy bueno para el movimiento de jugador. - Movimiento de bala. Esto simplemente hace que se mueva hacia adelante un objeto en su ángulo actual. Se va a usar mucho para las balas de los jugadores. A pesar del nombre, también funciona muy bien para el movimiento de los monstruos – y todos los objetos con movimiento hacia adelante y a una cierta velocidad. - Scroll to. Esto hace que la pantalla siga a un objeto que se mueve (también conocido como desplazamiento). Esto será útil en el jugador. - Bound to layout. Esto evitará que un objeto salga del área de diseño. Esto también será útil para que la vista al reproducir no pueda desviarse fuera del área de juego! - Destroy outside layout. Esto destruye los objetos que salgan del área de juego. Es útil para nuestras balas. Sin ello, las balas vuelan fuera de la pantalla para siempre, usando un poco de memoria. - Fade. Esto hace que un objeto se desvanezca poco a poco una vez que aparece. Vamos a añadir estos comportamientos a los objetos que los necesitan.
  • 11. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Cómo agregar un comportamiento Vamos a añadir el comportamiento de dirección en 8 movimientos para el jugador. Haga clic en el objeto para seleccionarlo. En la barra de propiedades, en la categoría de comportamientos. Haga clic en Agregar / Editar . Haga clic en el icono 'Añadir un comportamiento' la cruz verde que se muestra en la ventana. Haga doble clic en el movimiento “8 direcciones” para añadirlo. Haga lo mismo pero esta vez agregar Scroll To, para que la pantalla siga el jugador, y también Bound to layout, para mantenerlos en el interior del diseño. El diálogo de los comportamientos ahora debería tener este aspecto:
  • 12. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Cierre la ventana de comportamientos. Guarde y Pulse Ejecutar para probar el juego. Deben tener un navegador compatible con HTML5. Agregar los otros comportamientos Podemos agregar comportamientos a los otros objetos con el mismo método selecciónelo, haga clic en Agregar / Editar para abrir el diálogo de los comportamientos, y añadir algunos comportamientos. Vamos a añadir los siguientes comportamientos: 1. Añadir el Bullet movement y Destroy outside layout al objeto de bala. 2. Añadir el Bullet movement al objeto Monster (ya que sólo se mueve hacia adelante también) 3. Añadir el comportamiento Fade al objeto de explosiones (desaparece poco a poco después de aparecer). Por defecto, el comportamiento de fundido también hace que el objeto en cuestión de destruya una vez de halla desvanecido completamente. Si se ejecuta el juego, es posible que note, que los monstruos se mueven con bastante rapidez. Vamos a reducir la velocidad. Seleccione el objeto de Monster. Cómo ya hemos añadido un comportamiento, algunas propiedades adicionales aparecen en la barra de propiedades:
  • 13. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Esto nos permite ajustar los comportamientos. Cambie la velocidad de400 a 80 (esto es en píxeles por segundo). Del mismo modo, cambiar la velocidad del objeto bala a 600, y el comportamiento de fundido “fade of time” del objeto explosión a 0,5 (que es la mitad de un segundo). Crear algunos monstruos más: Manteniendo control, haga clic y arrastre el objeto de Monster. Usted notará que genera otra instancia. Esto es simplemente otro objeto del tipo de objeto Monster. Los tipos de objetos son esencialmente 'clases' de los objetos. Los eventos tratan principalmente con tipos de objetos. Por ejemplo, usted podría hacer un evento que dice que "si choca bala con Monster". Esto en realidad significa "En el caso de que un objeto tipo bala choca con un objetos de cualquier instancia del tipo de Monster" - en lugar de tener que hacer un evento por separado para cada uno de los monstruos. Con los Sprites, todas las instancias de un tipo de objeto también comparten la misma imagen. Esto es muy eficiente - cuando los jugadores juegan su juego en línea, en lugar de tener que descargar 8 imágenes monstruo para 8 monstruos iguales, sólo es necesario descargar una textura monstruo y construir 2 lo repite 8 veces. Vamos a cubrir más información sobre los tipos de objetos frente a las instancias más tarde. Por ahora, un buen ejemplo es Pensar que un enemigo “real” en realidad es una instancia de ese tipo de objeto.
  • 14. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Usa control + arrastrar, y crea 7 u 8 nuevos monstruos. No coloque ninguno demasiado cerca del jugador, o podrían morir de inmediato. Ahora es momento de pasar a los eventos: Eventos En primer lugar, haga clic en la pestaña de eventos, en la parte superior, al lado de la pestaña layout, para cambiar a la hoja donde se editarán los eventos.. se pueden tener hojas de eventos para las diferentes partes del juego, o para organizarlos. Una hoja también puede incluir otras hojas de eventos, esto permite reutilizar los eventos de la hoja incluida. Esto no será necesario en este ejemplo. Acerca de los eventos Como indica el texto de la hoja en blanco, construct2 “corre” todos los eventos de la hoja una vez por tick. La mayoría de los monitores actualizan su pantalla 60 veces por segundo, por lo que construct2 intentará que coincida esto con la visualización. Esto
  • 15. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION significa que la hoja de eventos normalmente se ejecuta 60 veces por segundo, redibujando la pantalla cada vez. De esta manera se ordena: "ejecute los eventos a continuación, luego dibújelos en la pantalla". Los eventos corren de arriba hacia abajo, por lo que los acontecimientos en la parte superior de la hoja de eventos se ejecutan primero. Condiciones, acciones y sub-eventos Los eventos se refieren a las condiciones, prueba si se cumplen ciertos criterios, por ejemplo, "¿está la barra espaciadora presionada”? Si todas estas condiciones se cumplen, las acciones del evento se ejecutan, por ejemplo, "Crear un objeto de bala". Después de que las acciones se han ejecutado, los sub eventos también se ejecuta- éstos pueden probar más condiciones y a continuación, ejecutar más acciones, a continuación, más sub-eventos, y así sucesivamente. Con el uso de este sistema, podemos construir funcionalidades muy sofisticadas para nuestros juegos y aplicaciones. Sin embargo no se van a usar sub eventos para este tutorial. Vamos a repasar. En resumen, un evento básicamente es como sigue:  Están todas las condiciones que se requieren? o Sí: se ejecutan todas las acciones del evento. o No: ir al siguiente evento (sin incluir los sub-eventos). Construct2 ofrece una gran cantidad de características de evento para cubrir un montón de cosas diferentes que puede que necesiten hacer. Su primer evento Queremos que el jugador siempre “mire” hacia el ratón. Se parece a esto cuando haya terminado:
  • 16. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Recuerde que un Tick se ejecuta cada vez que se dibuja la pantalla, así que si hacemos que el jugador mire hacia el mouse en cada Tick, parecerá que siempre está mirando hacia el ratón. Vamos a empezar a hacer este evento. Haga doble clic en un espacio en la hoja de eventos. Esto nos pedirá agregar una condición para el nuevo evento. Objetos diferentes tienen diferentes condiciones y acciones en función de lo que pueden hacer. Está también el objeto de sistema, el que representa funcionalidades integrada de Construct2 . Haga doble clic en el objeto de sistema, como se muestra. El diálogo entonces muestra una lista de todas las condiciones del objeto de sistema:
  • 17. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Haga doble clic en la condición de every tick para insertarlo. El diálogo se cierra y el evento se crea, sin acciones. Ahora debería tener este aspecto: Ahora queremos agregar una acción, que es hacer que el jugador mire al ratón. Haga clic en el enlace de acción que está a la derecha del evento. El cuadro de diálogo agregar acción aparecerá:
  • 18. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Al igual que al agregar un evento, tenemos nuestra misma lista de objetos para elegir, pero esta vez es para añadir una acción Como se muestra, haga doble clic en el objeto Player, ya que queremos que el jugador mire en todo momento al ratón. La lista de acciones disponibles en el objeto Player aparece: Observe como en las acciones de jugador 8direction tiene sus propios comportamientos de movimiento. No hace falta preocuparse por eso ahora. En lugar de ajustar el ángulo del jugador a un número de grados, es conveniente utilizar Set angle towards position. Esta calculará automáticamente el ángulo donde tiene que ir el objeto jugador en las coordenadas x e y, a continuación, ajustar el ángulo del objeto a eso. Haga doble clic en Set angle towards position. Construct2 ahora tiene que saber la coordenada X y Y para señalar al jugador donde “mirar”:
  • 19. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Esto se denomina parámetros de la acción. Las condiciones pueden tener algunos parámetros, pero everytick no necesita ninguno. Queremos establecer el ángulo hacia la posición del ratón. El objeto mouse puede proporcionar esto. Ingrese Mouse.X para X y Mouse.Y para Y. estas se llaman expresiones. Son los montos que se calculan. Por ejemplo, podría también ingresar Mouse.X+100 para X, y sin(Mouse.Y ) para Y. De esta manera se puede utilizar cualquier dato, de cualquier objeto, o de cualquier cálculo, esto para elaborar parámetros en las acciones y condiciones. Es muy potente y una fuente oculta de la flexibilidad de construct2. ¿Recibió un error que dice "El mouse no es un nombre de objeto"? Asegúrese de que ha añadido el objeto Mouse. Haga clic en el “done” en el dialogo de parámetros. La acción se agrega, debería tener este aspecto: Su primer evento! Trate de ejecutar el juego, y el jugador ahora debe ser capaz de moverse como antes, pero siempre de cara al ratón. Este es nuestro primer bit de una funcionalidad personalizada. Agregar funcionalidades del juego
  • 20. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Si cada evento es descrito con tanto detalle como antes, va a ser un tutorial muy largo. Vamos a hacer una breve descripción para los próximos eventos. Recuerde, los pasos para agregar una condición o acción son los siguientes: 1. Haga doble clic para insertar un nuevo evento, o haga clic en un vínculo de la acción agregar para agregar una acción. 2. Haga doble clic en el objeto de la condición / acción. 3. Haga doble clic en la condición / acción que desee. 4. Introduzca los parámetros, si es que hacen falta. De ahora en adelante, los eventos se describe como el objeto, seguido por la condición / acción, seguido de los parámetros. Por ejemplo, el caso que acabamos de insertar se podría escribir: 1. Add condition System -> Every tick 2. Add action Player -> Set angle towards position -> X: Mouse.X, Y: Mouse.Y
  • 21. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Hacer que el jugador dispare: Cuando el jugador hace clic, se debe disparar una bala. Esto se puede hacer con la acción Spawn an object del jugador, lo que crea una nueva instancia de un objeto en la misma posición y ángulo. El movimiento de bala que agregó anteriormente a continuación hará ir hacia delante la bala. Haga el siguiente evento: 1. Condition: Mouse -> On click -> Left clicked (the default) 2. Action: Player -> Spawn another object -> For Object, escoge el objeto bala. Para el Layer, coloca 1 deja Image point en 0. Debe parecerse a esto: Si se ejecuta el juego, te darás cuenta que las balas se disparan desde el centro del jugador, en lugar del final de la pistola. Vamos a fijar mediante la colocación de un punto de imagen en el extremo de la pistola. Haga clic con el jugador en el proyecto o la barra de objetos y seleccione Editar animaciones. El editor de imágenes para el jugador aparece. Haga clic en la imagen de origen y la herramienta de puntos:
  • 22. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION ... y el cuadro de diálogo de los puntos de imagen se abre Observe que el origen del objeto aparece como una mancha roja. Ese es el "punto caliente" o "punto de giro" del objeto. Si gira el objeto, éste gira en torno al origen. Queremos añadir otro punto de la imagen para representar a la pistola, así que haga clic en el botón añadir verde. Un punto azul aparece - ese es nuestro punto nuevo. Haga clic izquierdo en el extremo de la pistola del jugador para colocar el punto de la imagen allí:
  • 23. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Cierre el editor de imágenes. Haga doble clic la acción que agregó anteriormente y cambiar el punto de la imagen a 1. (. El origen es siempre el punto de la primera imagen) El evento debe parecerse al de abajo. Ejecute el juego. Las balas ya se deberían disparar desde el extremo de su pistola Las balas por el momento no hacen nada. Esperemos, sin embargo, que usted comenzara a darse cuenta, de que una vez que llegue a familiarizarse con el sistema de eventos, podrá poner las funcionalidades con mayor rapidez. Vamos a hacer que las balas maten a los monstruos. Añadir el siguiente evento: 1. Condition: Bullet -> On collision with another object -> pick Monster. 2. Action: Monster -> Destroy 3. Action: Bullet -> Spawn another object -> Explosion, layer 1 4. Action: Bullet -> Destroy El efecto de la explosión Ejecutar el juego, y dispárale a un monstruo. Vaya, la explosión tiene un enorme borde negro. Usted podría haber predicho esto desde el principio, y se preguntó si nuestro juego realmente iba a acabar así. No te preocupes, no lo hará. Haga clic en el objeto de explosión, ya sea en la barra de objetos en la parte inferior derecha, o en la barra del
  • 24. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION proyecto. Sus propiedades aparecen en la barra de propiedades de la izquierda. En la parte inferior, establezca en su propiedad al efecto aditivo. Ahora prueba el juego de nuevo. ¿Por qué funciona esto? Las imágenes normales se pegan en la parte superior de la pantalla. Con el efecto aditivo, cada pixel es añadido con el píxel del fondo detrás de él. El negro es un valor de píxel cero, por lo que nada se añade – por lo que no se ve el fondo negro. Es muy bueno para las explosiones y efectos de iluminación. Hacer monstruos un poco más inteligente Ahora los monstruos simplemente se pasean a la derecha de la vista. Vamos a hacer que ellos sean un poco más interesantes. En primer lugar, van a comenzar en un ángulo al azar. 1. Condition: System -> On start of Layout 2. Action: Monster -> Set angle -> random(360) Todavía vagará para siempre cuando salga de la vista, para nunca ser visto otra vez. Vamos a mantenerlos dentro. Lo que vamos a hacer es que vuelvan al jugador al salir de la vista. Esto hace dos cosas: que siempre se mantengan dentro de la disposición, y si el jugador se queda quieto, los monstruos vienen directo hacia él. 1. Condition: Monster -> Is outside layout 2. Action: Monster -> Set angle toward position -> For X, Player.X - for Y, Player.Y.
  • 25. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Ejecute el juego. Si usted se mueve alrededor por un tiempo, te darás cuenta que los monstruos quedan alrededor de la vista, y van en todo tipo de direcciones. Ahora, supongamos que tenemos que disparar a un monstruo cinco veces antes de que este muera, en lugar de una muerte instantánea, como es en este momento. ¿Cómo lo hacemos? Si sólo se almacena en un contador de salud global, entonces una vez que hemos disparado a un monstruo cinco veces, todos los monstruos van a morir. En cambio, necesitamos que cada monstruo tenga su propia salud. Podemos hacer eso con las variables de instancia. Las variables de instancia Las variables de instancia permitir que cada monstruo pueda almacenar un valor para su salud. Una variable es simplemente un valor que puede cambiar (o modificarse), y se almacenan por separado para cada caso. Agregar una variable de instancia de nombre salud a nuestro monstruo. Haga clic en el monstruo en la barra de proyecto o barra de objetos. Alternativamente, usted puede cambiar de nuevo a la vista de diseño y seleccionar un objeto de monstruo. Esto mostrará las propiedades de los monstruos en la barra de propiedades. Haga clic en Agregar / editar las variables de instancia. El cuadro de diálogo Variables de Instancia aparece. Es similar al cuadro de diálogo de Comportamientos que hemos visto anteriormente, pero este le permite añadir y cambiar las variables de instancia para el objeto. Haga clic en el botón verde agregar para agregar una nueva variable
  • 26. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION En el cuadro de dialogo que aparece, para el nombre coloque salud, deje el tipo en número, y por valor inicial 5 (como se muestra). Así se inicia en 5 la salud de todos los monstruos. Cuando se recibe un balazo vamos a restar 1 a la salud y cuando la salud sea cero, vamos a destruir el objeto. Una vez que haya terminado haga clic en Aceptar. Tenga en cuenta que la variable aparece ahora en el cuadro de diálogo variables de instancia y también en las propiedades para el monstruo. (Así puede cambiar rápidamente los valores iniciales en la barra de propiedades.
  • 27. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Cambio de los eventos Vuelva a la hoja de evento. En este momento, estamos destruyendo los monstruos, tan pronto como la bala les pega. Vamos a cambiar eso y restaremos 1 a su salud. Encontrar el caso de que se lee: Bullet - on collision with Monster. Entonces la acción "destroy monster”. Vamos a sustituirla por "restar 1 a la salud". Haga clic en la acción "destruir monstruo" y haga clic en Reemplazar. En el cuadro de diálogo aparece como si estuviéramos introduciendo una nueva acción, pero esta vez va a sustituir la acción por una nueva. Elija Monster -> Subtract from (variables de instancia) - Instancia> variable "salud". Haga clic en Done. La acción debe aparecer ahora de esta manera Ahora, cuando le disparemos a los monstruos estos pierden uno de salud y la bala estalla, pero aún no hemos hecho una acción que mate a los monstruos cuando su salud llegue a cero. Añadiremos eso en otro evento: 1. Condition: Monster -> Compare instance variable -> Health, Less or equal, 0 2. Action: Monster -> Spawn another object -> Explosion, layer 1 3. Action: Monster -> Destroy
  • 28. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION ¿Por qué " menor o igual a 0" y no "es igual a 0"? Supongamos que hemos añadido otra arma más poderosa que resta 2 de salud. A medida que disparemos al monstruo, su salud va en 5, 3, 1, -1, -3, etc. En ningún momento fue igual a cero, entonces nunca va a morir. Por lo tanto, es una buena práctica utilizar "menor o igual" para comprobar si la salud se ha agotado. Ejecutar el juego. Ahora tiene que golpear a los monstruos cinco veces para matarlos La puntuación Vamos a tener una puntuación para que el jugador vea cuantos monstruos ha matado. Vamos a necesitar una variable para ello. Se podría pensar “Pondré una variable de instancia al jugador” No es una mala idea, pero recuerde que el valor se almacena en el objeto. Por lo tanto si el objeto muere. Se perdería el contador. En su lugar, podemos utilizar una variable global. Al igual que una variable de instancia, en una variable global se puede almacenar texto o un número. Sin embargo, sólo hay un valor almacenado, y este también está disponible para todo el juego en todos los layout - conveniente si le sumamos otros niveles. Haga clic derecho en el espacio en la parte inferior de la hoja de evento, y seleccione Agregar variable global.
  • 29. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Escriba puntaje en el nombre. Los otros valores predeterminados están bien, va ser un número que comienza en 0. Ahora la variable global aparece como una línea en la hoja de evento. Es en esta hoja de evento, aunque se puede acceder a ella en cualquier otra hoja de eventos. (Si las hubiera). Vamos a dar al jugador un punto por matar a un monstruo. En nuestro evento "Monster: health less or equal 0" (cuando un monstruo muere), haga clic en Agregar acción y seleccione System -> Add to (under Global & local variables) -> Score, value 1. Debería verse así; Ahora el jugador tiene una puntuación, lo que aumenta en 1 por cada monstruo que mata - pero no puede ver su puntuación. Vamos a mostrar aquello con un objeto de texto. Creación de un heads-up display (HUD) Una pantalla de heads-up (también conocido como HUD) es la interfaz que se muestra al jugador, donde está la salud, la puntuación y otra información del juego. Vamos a hacer una HUD de un objeto de texto. El HUD se mantiene siempre en el mismo lugar en la pantalla. Si tenemos algunos objetos de la interfaz, no queremos que se desplace a medida que el jugador camina alrededor, debe permanecer en la pantalla. De forma predeterminada, las capas se desplazan. Para
  • 30. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION evitar que la pantalla se desplace, podemos utilizar la configuración de la capa de Parallax. Parallax permite que diferentes capas se desplazasen a diferentes velocidades para una especie de semi-efecto 3D. Si fijamos la paralaje a cero, sin embargo, la capa no se desplazará - ideal para un HUD. Volver a la barra de capas que se utilizó anteriormente. Añadir una nueva capa llamada HUD. Asegúrese de que sea en la parte superior, y selecciónela (recuerda que esto hace que sea la capa activa). La barra de Propiedades ahora debe mostrar sus propiedades. Establezca la propiedad Parallax a 0, 0 (que es cero en ambos ejes X e Y). Haga doble clic en un espacio para insertar otro objeto. Esta vez, elegir el objeto de texto. Colóquelo en la esquina superior izquierda del diseño. Va a ser difícil de ver si es negro, por lo que en la barra de propiedades, ponerlo en negrita, cursiva, color amarillo, y elegir un tamaño de letra un poco más grande. Cambiar el tamaño lo suficientemente amplia como para adaptarse a una cantidad razonable de texto. Debe ser algo como esto: Vuelva a la hoja de eventos. Necesitamos que el texto sea actualizado con la puntuación del jugador. En el evento every Tick añadido anteriormente, agrega la acción de texto - Text -> Set text Utilizando el operador &, podemos convertir un número a texto y unirlo a otra cadena de texto. Así que en el texto, escriba: "Score:" & Score La primera parte ("Score:") significa que el texto siempre se iniciará con esa frase: La segunda parte es el valor real de la variable global de puntuación. El & une a los dos en un trozo de texto. Ejecutar el juego, y disparar a algunos monstruos. Su puntuación se muestra, y se mantiene en el mismo lugar en la pantalla.
  • 31. Centro de Estudios de Ingeniería de Software LABORATORY OPENSOURCE SOLUTION Toques finales Estamos a punto de terminar. Vamos a añadir algunos toques finales. En primer lugar, vamos a tener algunos monstruos apareciendo regularmente, de lo contrario una vez que has disparado a todos los monstruos no habría nada más que hacer. Vamos a crear un nuevo monstruo cada 3 segundos. Añadir un nuevo evento: 1. Condition: System -> Every X seconds -> 3 2. Action: System -> Create object -> Monster, layer 1, 1400 (for X), random(1024) (for Y) 1400 es una coordenada X al lado de la orilla derecha de la vista, y al azar (1024) es una aleatoria Y coordina la altura de la vista. Por último, los Monstruos podrán matar 1. Condition: Monster -> On collision with another object -> Player 2. Action: Player -> Destroy al jugador.