Comunidad de diseño web y desarrollo en internet online

Juego de Trivial en Flash mediante AS2

Citar            
MensajeEscrito el 07 Sep 2008 01:09 pm
Buenas tardes!

Acabo de registrarme en Cristalab, aunque llevo tiempo usando esta web. Agradezco a todos los que participan ayudando a sus usuarios con profesionalidad y buen ambiente.

Mi consulta es la siguiente. Necesito hacer un juego de trivial semejante al de esta web: http://w3.cnice.mec.es/eos/MaterialesEducativos/primaria/grado56/index.htm Tengo algunas nociones de AS2, he hecho algunas pequeñas aplicaciones, pero la verdad es que hace tiempo que no toco Flash y en este caso no sé por dónde empezar. ¿Alguien me podría ayudar dando ideas o algún ejemplo fla?

Muchísimas gracias y de antemano, agradezco cualquier colaboración.

Por xiskya

3 de clabLevel



 

Madrid

msie7
Citar            
MensajeEscrito el 08 Sep 2008 10:20 am
Bueno un ejemplo no tengo, pero te puedo guiar en algunos procesos.

Lo primero que debes realizar es organizar la información, debes decidir como vas a estructurar tu proyecto y de que manera vas a guardar todos los datos, podría ser en bases de datos o XML, decide cuál sería el más optimo para ti, la información debe estar empaquetada en género de las preguntas y dentro de cada género todas las preguntas y las respuestas con un dato que indique cual es la correcta.

Me parece que este sería el trabajo más engorroso, ya después lo que debes hacer es tratar de que flash interactúe con los datos y me parece que sería más sencillo debido al gran volumen de información que puede tener un juego de estos.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 08 Sep 2008 04:24 pm
Muchas gracias.

No me considero preparada para un gran proyecto, pero sí para algo sencillo. Te cuento lo que se me ocurre:

Un película principal donde estén:
a) Introducción de nombre de los 2 jugadores, éstos nombres se recogerían en una caja de texto dinámica para mostrarlos durante el juego.
b) Cada jugador sería un botón, al hacer clic sobre él hace un random sobre un MC que contiene 4 tipos de colores, cada color es un tipo de pregunta.
c) Uncontador (variable numérica) para cada jugador que contaría las veces que ha tirado cada jugador.
d) Otro contador (variable numérica) para cada jugador que contaría las veces en que ha acertado cada jugador.

Tantas películas como preguntas tenga, todas clasificadas en 4 tipos de pregunta. El nombre de las películas sería del tipo: (tipo)+(nº).swf y serían llamadas desde los botones de los jugadores respondiendo al tipo aleatorio de pregunta que les haya salido y al nº aleatorio dentro de tipo.

De momento lo que llevo es parte del código de los jugadores de la película principal:

Fotograma1:

Código :

stop();

//Aquí iría el código para introducir el nombre de los jugadores desde una caja de texto de introducción

this.botonplay.onRelease = function()
{
   //Aquí iría el código para enviar los datos de los nombres de los jugadores que se mostrarán en el fotograma 2
   gotoAndStop(2);
}


Fotograma 2:

Código :

//Aquí iría el código para mostrar los datos de los nombres de los jugadores en cajas de texto dinámicas

function randRange(min:Number, max:Number):Number {
    var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
   return randomNum;
   }

var tiradas1:Number = 0;
var tiradas2:Number = 0;
var aciertos1:Number = 0;
var aciertos2:Number = 0;

this.boton1.onRelease = function()
{
   /*boton2.enabled = true;
   boton1.enabled = false; */
   //el enabled de los botones me falla
   for (var i = 0; i<1; i++) {
    var n:Number = randRange(1, 4)
   }
   dado.gotoAndStop(n);
   tiradas1++
     mistiradas1.text = tiradas1;
   }

this.boton2.onRelease = function()
{
   /*boton1.enabled = false;
   boton2.enabled = true; */
   //el enabled de los botones me falla
   for (var i = 0; i<1; i++) {
    var n:Number = randRange(1, 4)
   }
   dado.gotoAndStop(n);
   tiradas2++
     mistiradas2.text = tiradas2;
}


Problemas:

1. Introducir y rescatar mediante cajas de textos los nombres d elos jugadores.

2. Desactivar el botón del jugador que no está jugando. Lo que quiero es que tenga derecho a una tirada cada vez cada jugador: una vez jugador1, otra vez el jugador 2, una vez el 1, otra vez el 2, y así sucesivamente.

3. La condición para saber qué tipo de película ha de cargarse según el número aleatorio que ha salido en lo que haría de "dado". Supongo que es asignar a cada nº un tipo de pregunta, por tanto un tipo de swf, pero ¿cómo se asigna eso?

4. La manera para que flash sepa si debe sumar un punto a los aciertos de cada jugador. Supongo es otro condicional, pero no sé cómo.

Muchas gracias!!

Por xiskya

3 de clabLevel



 

Madrid

msie7
Citar            
MensajeEscrito el 08 Sep 2008 05:15 pm
Perdón por multiplicar mensajes, pero acabo de dar con algunas soluciones:

3. La condición para saber qué tipo de película ha de cargarse según el número aleatorio que ha salido en lo que haría de "dado". Supongo que es asignar a cada nº un tipo de pregunta, por tanto un tipo de swf, pero ¿cómo se asigna eso?

Lo acabo de resolver d euna manera que no me gusta pero funciona. Me gustaría saber si hay alguna forma de hacer un bucle en la condición, pues sería añadir al botón de cada jugador el siguiente código:

Código :

if (n==1)
{
loadMovie("vida"+ s + ".swf", pregunta);
}
if (n==2)
{
loadMovie("literatura"+ s + ".swf", pregunta);
}
if (n==3)
{
loadMovie("musica" + s + ".swf", pregunta);
}
if (==4)
{
loadMovie("cine" + s + ".swf", pregunta);
}


Como te digo, funciona, pero lo veo muy "cateto".

En cuanto a la pregunta 4 que decía:

4. La manera para que flash sepa si debe sumar un punto a los aciertos de cada jugador. Supongo es otro condicional, del tipo que he puesto en azul, pero me falta decirle a los swf de las preguntas cuándo ok == true y no me he puesto a pensar cómo.

Lo he medio resuelto creando una variable y añadiendo al mismo botón del jugador, el siguiente código:

La variable sería:

var aciertos1:Number = 0;

Dentro del botón añadiría:

Código :

if (ok==true)
{
aciertos1++;
}


Me falta decirle cuándo ok==true, no sé si se debe hacer en la peli principal o en el swf de las preguntas, creo que en éste último.

Gracias por cualquier ayuda.

Por xiskya

3 de clabLevel



 

Madrid

msie7
Citar            
MensajeEscrito el 08 Sep 2008 07:43 pm
Está muy complicado tu ejercicio sencillo, me parece que se termina primero un gran proyecto antes de que puedas acabar el tuyo, el problema es que es una forma muy difícil de generar cada una de las preguntas y no hablar a la hora de actualizar, te harías un lío.

Pero bueno si deseas hacerlo así es tu desición, por ahora no te desesperes, comienza por una duda y después pasas a la otra, en un momento has lanzado todas las dudas que tienes. Ve paso a paso preguntando un problema concreto y se te irá ayudando.

¿Que es lo primero que más te apremia resolver?

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 09 Sep 2008 09:09 am
Hola

Lo sencillo y no sencillo depende de cada persona, según su formación y cultura entre otras variables.

No te preocupes que ya lo he resuelto. Alguien de otro Foro me ha entendido muy rápido y me ha contestado cada una de mis preguntas de una sola vez, así que asunto zanjado!!

Saludos y gracias por al menos, contestar.

Por xiskya

3 de clabLevel



 

Madrid

firefox
Citar            
MensajeEscrito el 10 Sep 2008 09:05 pm
Vale, mi intención era simplemente enseñarte con calma, para que aprendieras y tratar de reducir tu trabajo de 100 a 1, cada cual decide como hacer su trabajo ya tu optaste por la manera que más te convino, me alegro y ojalá que cuando tengas más dudas las encuentres en otros foros.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.