Mostrar código Actionscript coloreado

Una idea de la página era ir recopilando scripts en Flash para tener una pequeña libreria. Buscando métodos para mostrar los códigos encontré esta página: http://www.shockwave-india.com/blog/services/as-highlight/ (enlace roto) Solo hay que pegar el código que queremos mostrar, y la página genera el código html que deberemos poner para verlo en el navegador.

Intercambio de datos entre Flash (Actionscript 2.0) y PHP

Etiquetas: LoadVars sendAndLoad onLoad

Es una ejemplo muy sencillo: se envían dos numeros desde el Flash a un PHP que los suma y devuelve el resultado, impreso en pantalla por el Flash. Los datos se envían mediante LoadVars y la función sendAndLoad

Por una parte tenemos el archivo PHP con el siguiente código:

  1.  
  2. <?php
  3.     $numero1 = $_POST["numero1"];
  4.     $numero2 = $_POST["numero2"];
  5.     $suma = $numero1 + $numero2;
  6.     echo "suma=" . $suma;
  7. ?>
  8.  

Y por otra, tenemos el Flash:

  1.  
  2. //Creo una variable para enviar los dos numeros que se suman, y otra 
  3. //para recibir la suma
  4. enviaNumeros = new LoadVars();
  5. recibeNumeros = new LoadVars();
  6. //Almaceno los dos numeros en la variable que se va a enviar al PHP
  7. enviaNumeros.numero1 = 7;
  8. enviaNumeros.numero2 = 10;
  9. //Cuando reciba la variable, que imprima el resultado
  10. recibeNumeros.onLoad = function(){
  11. 	trace("La suma es : " + this.suma);
  12. }
  13. //Envio la variable que contiene los dos numeros a la url del PHP, le digo que 
  14. //voy a recibir recibeNumeros de ese PHP y que el metodo es post.
  15. enviaNumeros.sendAndLoad("url del php", recibeNumeros, "post");
  16. stop();
  17.  

Actionscript 2: Recorrer elementos de un objeto

Etiquetas: XML ignoreWhite childNodes firstChild

Este código sirve para recorrer todos los elementos de un objeto. Por ejemplo, recorrer todos los elementos de todos los niveles de una pelicula, o todos los nodos de un XML. La base es:

  1.  
  2. function RecorreInstancias(clip:MovieClip){
  3. 	for(a in clip){
  4. 		trace(clip[a]);
  5. 		RecorreInstancias(clip[a]);
  6. 	}
  7. }
  8. RecorreInstancias(_root);
  9.  

Por ejemplo, si quisieramos imprimir en pantalla los nombres de todos los nodos de un XML:

  1.  
  2. function CargarXML(){
  3.         recXml = new XML();
  4.         recXml.ignoreWhite = true;
  5.         recXml.onLoad = function(exito){
  6.                 if(exito){
  7.                         Recorrer(this.firstChild);
  8.                 }else{
  9.                         trace("Error al cargar");
  10.                 }
  11.         }
  12.         recXml.load("url del XML");
  13. }
  14.  
  15.  
  16. function Recorrer(xml){
  17.         for(var a in xml.childNodes){
  18.                 Recorrer(xml.childNodes[a]);
  19.                 trace(xml.childNodes[a].nodeName);
  20.         }
  21. }
  22.  
  23. CargarXML();
  24.  

PHP: Listado de directorios en XML

Etiquetas: operdir readdir

Primer código que subo a la página. Es un script en PHP para sacar un listado de directorios en XML. Tiene el "inconveniente" de que hay que abrir el primer nodo antes de llamar a la función, y pasar el nombre del nodo como parámetro, pero para lo que yo quería hacer (una galería dinámica en flash) fue más que suficiente.

  1.  
  2. <?php
  3. 	echo "<CONTENIDOS>";
  4. 	function ListadoXML($src,$nodo){
  5. 		$directorio = opendir($src);
  6. 		while ($archivo = readdir($directorio)) { 
  7. 			if($archivo != "." and $archivo != ".."){
  8. 				$url = $src . "/" . $archivo; 
  9. 				if(is_dir($url)){
  10. 					echo "<" . $archivo . ">";
  11. 					ListadoXML($url,$archivo); 
  12.  
  13. 				}else{
  14. 					echo "<node src='" . $archivo . "' />";	
  15. 				}
  16. 			}
  17. 		}
  18. 		echo "</" . $nodo . ">";
  19. 		closedir($directorio);
  20. 	}
  21. 	ListadoXML("url carpeta","CONTENIDOS");
  22. ?>
  23.