Comunidad de diseño web y desarrollo en internet online

Llamar a una cita XML de forma aleatoria a Flash.

Citar            
MensajeEscrito el 16 Jun 2006 02:31 am
Hola, tengo una base de datos antigua en XML con esta estructura:
<frase><num>0</num><texto>La tabla tiene muchos elementos</texto></frase>
el problema q tengo es que intento llamar a una frase aleatoriamente a campos de texto del flash pero no me sale la llamada... alguien me puede dar una pauta para hacer eso???
Gracias

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 16 Jun 2006 03:36 am
Publica por favor algo del codigo para ver si tienes alguna falla ya que dices que intentas pero no aparece nada.
Asi si te podriamos ayudar...

Ahora... no repitas post. :punal:

Espero tu codigo para darle una mirada...

Saludos....

Por Camuss

498 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

Lima City - Perú

firefox
Citar            
MensajeEscrito el 16 Jun 2006 03:52 am
Bueno, he modificado el codigo de un arreglo XML y por los intentos que hice creo q no funciona nada, este codigo fue el que use:

Código :

var todasLasFrases = new Array();   
var aimlXML = new XML();            
aimlXML.load("frases.xml");         
aimlXML.onLoad = loadedXML;            
function frase(p1, p2){
   this.numero       = p1;            
   this.texto       = p2;            
}
function loadedXML(){
   allText = aimlXML.firstChild;      
   a = allText.firstChild;            
   arrayFrases = allText.childNodes;
   numFrases = arrayFrases.length;
   for (var i=0;i<numFrases;i++){
      laFrase = a.childNodes;      
      num   = parseInt(laFrase[0].firstChild.toString());
      tex   = laFrase[1].firstChild.toString();
      todasLasFrases[i] = new frase(num, tex);
      a = a.nextSibling;            
    }
}
function buscaFrase(buscaFrase){
   myFrase    = todasLasFrase[buscaFrase].texto;
}

Espero q me digan q algo de este codigo sirve.
Gracias

usa las etiquetas CODE para postear tu código

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 17 Jun 2006 04:44 am
alguien me ayuda??????????

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 18 Jun 2006 09:14 pm
alguien me corrige el codigo x favor..

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 19 Jun 2006 10:47 am
Hola!!

No entendí muy bien tu código pero prueba esto:

Código :

var miXML= new XML();
miXML.ignoreWhite = true;
miXML.load("frases.xml");

miXML.onLoad = function(exito) {
   if (exito) {
      var numero:Array = new Array();
      var texto:Array = new Array();
      total=this.firstChild.childNodes.length;//Número de frases.
      for(i=0;i<=total-1;i++){
      numero[i]= miXML.firstChild.childNodes[i].attributes.num;//Número de cada frase.
      texto[i]= miXML.firstChild.childNodes[i].attributes.texto;//Frase.
      cargadoXML(numero,texto,total);
      }
   } else {
      trace("no cargó");
   }
   
};
function cargadoXML(numero:Array, texto:Array, total:Number){
   var aleatorio:Number;
   aleatorio=random(total);//Conseguimos un número aleatorio entre el número total de frases.
   textXML.text = numero[aleatorio]+ " " +texto[aleatorio];
}


El XML sería de esta forma:

Código :

<frases>
   <frase num="0" texto="La tabla tiene muchos elementos 0"></frase>
   <frase num="1" texto="La tabla tiene muchos elementos 1"></frase>
</frases>


Ya contarás si te sirvió eso.

Por portavoz

23 de clabLevel



Genero:Masculino  

Galicia

msie
Citar            
MensajeEscrito el 20 Jun 2006 12:56 am
no me carga nada... me puedes pasar el fla donde el codigo q me acabas de pasar funciona???? te lo agradeceria

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 20 Jun 2006 07:40 am
Lo siento pero ya no tengo el .fla Pero te aseguro que ese es el código que tenía en él. Fijate bien. A lo mejor te olvidaste del nombre del cuadro de texto dinámico. Yo lo llamo textXML.

Además creo que ese código tiene que funcionar tanto en el Flash 8 como en el Flash MX.

Venga, saludos y suerte.

Por portavoz

23 de clabLevel



Genero:Masculino  

Galicia

msie
Citar            
MensajeEscrito el 20 Jun 2006 08:33 pm
Hola, Hice exactamente lo q dices, para describirte lo q tengo, es el primer fotograma con el codigo XML, un campo de texto dinamico asignado con la variable textXML, ejecuto el SWF y no me aparece nada, adjunto el FLA para q me digas si estoy usando bien el codigo o no...
http://www.megaupload.com/?d=47C7PG8E

Espero la respuesta y gracias.

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 22 Jun 2006 10:57 am
Hola.

Código :

var miXML= new XML();
miXML.ignoreWhite = true;
miXML.load("frases.xml");

miXML.onLoad = function(exito) {
   if (exito) {
      var numero:Array = new Array();
      var texto:Array = new Array();
      total=miXML.firstChild.childNodes.length//Número de frases.
      for(i=0;i<total;i++){
      numero[i]= miXML.firstChild.childNodes[i].attributes.num;//Número de cada frase.
      texto[i]= miXML.firstChild.childNodes[i].attributes.texto;//Frase.
      }    
     cargadoXML(numero,texto,total);
   } else {
      trace("no cargó");
   }
   
};
function cargadoXML(numero:Array, texto:Array, total:Number){
   var aleatorio:Number;
   for(i=0;i<1;i++){
      aleatorio=random(total);//Conseguimos un número aleatorio entre el número total de frases.
   }
   textXML.text = numero[aleatorio]+ " " +texto[aleatorio];
}



Prueba con eso. Ah, y no le pusiste el nombre de instancia al cuadro de texto. Tienes que escribir el nombre de instancia donde pone <instance name>, debajo de Dynamic Text.

Mucha suerte. ^^

Por portavoz

23 de clabLevel



Genero:Masculino  

Galicia

msie
Citar            
MensajeEscrito el 23 Jun 2006 12:46 am
GRACIAS, GRACIAS, GRACIAS, GRACIAS... me funcionó perfectamente... gracias x la solución, te lo agradezco de verdad.

Por gdcv1302

70 de clabLevel



Genero:Masculino  

Perú

firefox
Citar            
MensajeEscrito el 26 Jul 2006 04:38 am
oie necesito hacer lo mismo pero uso flash 8 :S y el codigo no me funciona me dice q el script contiene errores ayudenme

Por Renovatio

3 de clabLevel



Genero:Masculino  

Cancun

firefox
Citar            
MensajeEscrito el 16 Dic 2008 02:22 am
¿cómo debe ser la extrutura del archivo xml, para que carge las frases?

Por guineo

13 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 16 Dic 2008 03:35 am
he usado estos codigos y lo adapte a mi archivo, pero no me carga el mensaje, y me sale este error al momento de exportar el .swf:
there is no property with the name 'text'.

Por guineo

13 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 27 Sep 2012 12:09 am
y funciona con un listado de canciones?? quiero que se reproduzcan de manera aleatoria y lo tengo así:


var pos:Number = 0;
var posFinal:Number = 0;
var indice:Number = 0;
var mp3:Sound = new Sound();

var xml:XML = new XML();
xml.ignoreWhite = true;
xml.load("lista.xml");

xml.onLoad = function(exito)


{
if (exito)
{
mp3.loadSound("musica/"+xml.firstChild.childNodes[0].attributes.dir, true);
}
else
{
trace("Error");
}
}



btnAtras.onRelease = function()
{
indice--;
if (indice < 0)
indice = xml.firstChild.childNodes.length-1;
mp3.loadSound("musica/"+xml.firstChild.childNodes[indice].attributes.dir, true);
}
btnPausar.onRelease = function()
{
pos = mp3.position;
mp3.stop();
}
btnPlay.onRelease = function()
{
mp3.start(pos/1000);
}
btnDetener.onRelease = function()
{
mp3.stop();
pos = 0;
}
btnAdelante.onRelease = function()
{
indice++;
if (indice >= xml.firstChild.childNodes.length)
indice = 0;
mp3.loadSound("musica/"+xml.firstChild.childNodes[indice].attributes.dir, true);
}

barra.rep.stop();
barra.zona.stop();

onEnterFrame = function()
{
posFinal = Math.round(mp3.getBytesLoaded()*100/mp3.getBytesTotal());
barra.zona.gotoAndStop(posFinal);

var posFinal2:Number = Math.round(mp3.position*posFinal/mp3.duration);
barra.rep.gotoAndStop(posFinal2);

autor.text = mp3.id3.artist+" - "+mp3.id3.songname;
}

barra.onRelease = function()
{
if (barra._xmouse/2 < posFinal)
mp3.start(barra._xmouse/2*mp3.duration/posFinal/1000);
}

mp3.onSoundComplete=function()

{

indice++;



if (indice >= xml.firstChild.childNodes.length)


indice = 0;



mp3.loadSound("musica/"+xml.firstChild.childNodes[indice].attributes.dir, true);


}

Por saulgrafiko

5 de clabLevel



Genero:Masculino  

Soy Diseñador Gráfico

safari

 

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