Comunidad de diseño web y desarrollo en internet online

Ayuda con un sistema de preguntas en Action Scrip 3

Citar            
MensajeEscrito el 04 Ene 2011 05:30 pm
Necesito crear varios movie clips de la biblioteca y que cada uno al darse click muestre un texto diferente, mi codigo es el siguiente, si pueden ayudarme seria genial:

function completeHandler(event:Event):void {

var cargador:URLLoader = event.target as URLLoader;
XmlExterno = new XML(cargador.data);
var i:int;
i=0;
for each(var nodo:XML in XmlExterno.elements()){
var pregunta:MovieClip=new ppp();
with(lista){
addChild(pregunta);
pregunta.y=(pregunta.height+5)*i;
pregunta.numero.text=nodo.@clicks;
pregunta.pregunta.text=nodo.@pregunta;
pregunta.respuesta=nodo.@respuesta;
pregunta.addEventListener(MouseEvent.CLICK,responder);
}
i=i+1;
}
}

lo que quiero hacer es que al dar click en cada pregunta, se muestre la respuesta correspondiente, pero no se como acceder a cada respuesta si los Childs de lista tienen el mismo nombre, me da un erro a causa de eso, pero no se como crearlos con nombres diferentes, o acceder a la respuesta de cada uno asi como esta.

Por eddhunter

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Ene 2011 09:49 pm
Dentro de la función respuesta, accedes a la respuesta usando

Código ActionScript :

function responder(evt:MouseEvent):void{
  trace("Respuesta "+evt.target.respuesta)
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Ene 2011 04:36 am
Gracias por la respuesta Jorge, agregue lo que me comentas en la funcion responder, de la siguiente manera:
function completeHandler(event:Event):void {

var cargador:URLLoader = event.target as URLLoader;
XmlExterno = new XML(cargador.data);
var i:int;
i=0;
for each(var nodo:XML in XmlExterno.elements()){
var pregunta:MovieClip=new ppp();
with(lista){
addChild(pregunta);
pregunta.y=(pregunta.height+5)*i;
pregunta.numero.text=nodo.@clicks;
pregunta.pregunta.text=nodo.@pregunta;
pregunta.respuestas=nodo.@respuesta;
pregunta.addEventListener(MouseEvent.CLICK,responder);
}
i=i+1;
}
}

function responder(evento:MouseEvent){
respuesta.text=evento.target.respuestas;
}

y me regresa el siguiente error al dar click:
ReferenceError: Error #1069: No se encontró la propiedad respuestas en flash.display.SimpleButton y no hay ningún valor predeterminado.
at sistema_preguntas_fla::componente_1/responder()

Estoy importando:
import flash.display.*;
import flash.events.*;
import flash.net.*;

Puede ser que me falte alguna para que funcione target.

Por eddhunter

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 05 Ene 2011 12:19 pm
Pero pregunta es un MovieClip, no un simpleButton ... estás clickando sobre pregunta?
Prueba por las dudas con currentTarget en vez de target

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Ene 2011 04:43 pm
Gracias por el dato, con currentTarget ya funciono, grande Jorge!!, grande Cristalab!!

Por eddhunter

5 de clabLevel



Genero:Masculino  

firefox

 

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