170 likes | 311 Views
Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 6: Control del jugador de los sprites. edgar.sanchez@logicstudio.net. Objetivos de esta serie. Dar a los participantes una introducción a algunos de los conceptos fundamentales del desarrollo de juegos
E N D
Desarrollo de juegos de videoAprendiendo a programar en C# de manera divertidaSesión 6: Control del jugador de los sprites edgar.sanchez@logicstudio.net
Objetivos de esta serie • Dar a los participantes una introducción a algunos de los conceptos fundamentales del desarrollo de juegos • Introducir la programación con Visual C# 2005 Express Edition, el nuevo IDE (ambiente de desarrollo integrado) de Microsoft para programadores principiantes
Visión de esta sesión • Sesión 6/8 – Control del jugador de los sprites y creación dinámica de sprites • Fundamentos de sprites dinámicos • Cómo crear un sprite dinámicamente • Cuándo se usan los sprites dinámicos • Entrada • Teclado • Presionado • Disparado • Implementación en el juego • Creación de un prototipo • Manejo de entradas de teclado
Creación dinámica de sprites • Crear sprites dinámicamente es crearlos al momento de ejecución (durante el juego) • Cómo crear un sprite dinámicamente: • Para crear un sprite dinámicamente, necesitamos un prototipo de sprite • El prototipo será la base del que se crearán copias del sprite • El prototipo de sprite no es manipulado en el bucle del juego y no es desplegado • Creamos el prototipo escribiendo este código en el archivo ‘StarTrooperGame.cs’:
Creación dinámica de sprites • Agregar este código en ‘StarTrooperGame.cs’ en el método ‘InitializeResources’ (muy similar al código para Trooper y Condor)
Creación dinámica de sprites • A partir del prototipo, hay que crear copias • Definir las propiedades de la copia tales como la posición, velocidad, etc. • Para crear una copia, clonamos el prototipo: • Este código se ejecutará cada vez que el jugador presione la barra espaciadora para disparar una bala.
Creación dinámica de sprites • ¿Cuándo usar sprites dinámicos? • Cuando necesitamos que aparezcan nuevos sprites como parte de la ejecución del juego • La aparición de cóndores o balas es un ejemplo
Entrada • Teclado • Un dispositivo que devuelve códigos de caracteres cuando se presiona una tecla • ASCII (American Standard Code for Information Interchange) • Puesto que el computador solo puede entender números binarios, cada carácter es representado por un número • Por ejemplo: La A mayúscula es representada por el número 65 (base 10) que es el 01000001 en binario
Entrada • Presionado • Es el estado de una tecla cuando está aplastada • La acción asignada a la entrada del teclado será ejecutada mientras la tecla está presionada • Para obtener el estado de una tecla hay que llamar a la función IsPressed() • Esta función devuelve un valor booleano • Por ejemplo: este código revisa si la ‘flecha arriba’ ha sido presionada o no
Entrada • Disparado (Triggered) • Este es el estado de una tecla cuando cambia de no presionado a presionado • Para averiguar si una tecla se ha disparado (cambiado de estado), se llama a la función IsTriggered() • Esta función devuelve un valor booleano • Ejemplo: el código que se muestra revisa si la barra espaciadora ha cambiado de estado
Implementación en el juego • Durante el juego, las teclas de flechas se usan para mover al Trooper • Presionar la flecha arriba mueve al Trooper hacia arriba • Presionar la flecha abajo mueve el Trooper hacia abajo • Presionar las flechas izquierda o derecha mueve al Trooper a la izquierda o la derecha respectivamente • Cuando se dispara la barra espaciadora, el Trooper disparará una bala (que será creada dinámicamente
Resumen de la sesiónControl del jugador de los sprites • Fundamentos de creación dinámica de sprites • Cómo crear un sprite dinámicamente • Cuando se usan sprites dinámicos • Entrada • Teclado • Presionado • Disparado • Implementación en el juego • Creación de un prototipo • Manejo de las entradas de teclado
¿Deseas aprender más? • DigiPen Institute of Technology ofrece una variedad de vías para explorar una carrera en el desarrollo de juegos de video: • La serie original de webcasts sobre desarrollo de juegos - Realizada en mayo del 2005. Se puede ver en http://www.microsoft.com/events/series/msdnvideodev.mspx • El código de esta sesión está en http://www.digipen.edu/webcast/ • Talleres de verano – Series de clases introductorias en programación de juegos, producción de animaciones 3D y robótica. Más información en http://workshops.digipen.edu • ProjectFUN Distance Learning – DigiPen tiene cursos en línea impartidos por sus instructores. Más información en http://projectfun.digipen.edu
Preguntas y respuestas • Proponer preguntas usando el botón “Ask a Question” • No te olvides de llenar la encuesta • Para webcasts futuros y pasados (en inglés) http://www.microsoft.com/webcasts • Para webcasts futuros y pasados (en castellano) http://www.microsoft.com/spanish/msdn/latam/video • Esta serie de webcasts está grabada en http://www.microsoft.com/spanish/msdn/latam/video/academic.asp • Este webcast fue presentado usando Microsoft Office LiveMeeting. Se puede obtener una prueba de 14 días gratuita en http://www.microsoft.com/presentlive
¿Dónde se puede obtener MSDN? • Llenar la encuesta al final del webcast y pedir a un representante de Microsoft que le contacte • Convertirse en un suscriptor de los CDs/DVDs de MSDN en http://msdn.microsoft.com/subscriptions
Música del juego y efectos de sonido Nos vemos la próxima semana para…