2011-03-15 18 views
6

Para el fondo He estado trabajando en un juego de roles basado en los tutoriales de Ray Wenderlich. (Ejemplo) http://www.raywenderlich.com/1163/how-to-make-a-tile-based-game-with-cocos2d.¿Cómo programar un juego de guiones de un juego de rol/sistema de escena de corte en un juego de rol basado en fichas en el objetivo C?

Ahora estoy tratando de crear un evento con guiones/sistema de escena de corte para que, por ejemplo, cuando un jugador entre en un edificio, los diferentes personajes puedan tener una discusión de los eventos actuales, antes de continuar la aventura. Mi único problema es que realmente no puedo visualizar cómo se implementaría esto.

Supongo que habrá algún tipo de disparador de uso único, tal vez guardado en una declaración de interruptor grande en un singleton en alguna parte. Que tal vez atrae a todos los personajes temporales? Luego, el evento se desactiva a sí mismo.

Estoy buscando un modelo de cómo se haría esto. Aunque los ejemplos de programación son bienvenidos también.

+0

¿No debería formularse esta pregunta en [gamedev] (gamedev.stackexchange.com)? – Ali1S232

+0

Se responde a esta pregunta, pero aún no hay ninguna idea: ¿cómo implementar escenas? –

Respuesta

1

puede comprobar simplemente por el azulejo que se encuentra mientras se está moviendo, y cuando se encuentra en un azulejo específico puede comenzar una escena, también puede agregar una etiqueta a través de TiledEditor (este es el editor recomendado para usar con CCTMXTiledMap) a su mapa para especificar dónde debe comenzar la secuencia de corte al igual que señaló el punto de inicio del carácter en ese tutorial. el que comprueba para el triger especificado (ya sea un mosaico específico o lo que el punto taged en el mapa) en cada ciclo de juego. y luego es casi muy fácil que congeles controles y juegues una cámara pregrabada y movimientos de objetos hasta que termine la escena. Restaure el juego al modo normal y desactive la comprobación del triger.

+0

Ambas respuestas fueron grandiosas, muchas gracias a ustedes dos – Bagellad

3

Depende mucho de cuánto tiempo desee comprometerse con el sistema y cuán versátil desee que sea el sistema final. Un poderoso sistema de escena de corte puede ser lo suficientemente flexible como para ser utilizado en casi todas las interacciones en un RPG 2D típico.

Si quiere hacer todo lo posible, le sugiero un enfoque de gran cantidad de datos. Guarde la mayor cantidad de datos en los archivos y use el sistema de archivos para su ventaja. Si dices 'todas las escenas de diálogo están en esta carpeta', cuando agregas una nueva escena solo tienes que soltarla en la carpeta en lugar de crear la escena y luego tocar alguna declaración de cambio maestro en alguna parte. Solo tenga en cuenta que, con un sistema grande, desea agregar una nueva escena lo más simple posible, no 400 lugares diferentes para tocar.

También me mantendría alejado de las declaraciones de cambio para el seguimiento del progreso en una escena. Agrega una gran cantidad de código por escena. Idly a cutscene sería un simple como una matriz de datos y una posición. Su administrador de cutscene, el singleton, puede analizar a través de la matriz, decodificar los datos en comandos y dispararlos.

Lo siento si eso es un gran vago, pero muchas de estas decisiones dependen de cómo se estructura su motor y lo que quiere fuera del sistema. Tenga en cuenta que cuanto más general es el sistema, más usos puede tener para el futuro, pero para empezar, tomará más tiempo comenzar a funcionar.

Cuestiones relacionadas