Foros del Web » Creando para Internet » Flash y Actionscript »

Problemas al traducir galería de AS2 a AS3

Estas en el tema de Problemas al traducir galería de AS2 a AS3 en el foro de Flash y Actionscript en Foros del Web. Muy buenas: He intentado traducir una galería de fotos que estaba programada en AS2 a AS3. Cuando pruebo la película no me saca ningún error, ...
  #1 (permalink)  
Antiguo 24/03/2011, 07:58
 
Fecha de Ingreso: marzo-2005
Mensajes: 33
Antigüedad: 19 años, 1 mes
Puntos: 0
Problemas al traducir galería de AS2 a AS3

Muy buenas:

He intentado traducir una galería de fotos que estaba programada en AS2 a AS3. Cuando pruebo la película no me saca ningún error, pero no hace nada. Ni muestra las imágenes ni nada. Os dejo el código a ver si alguien me ayuda a detectar que está fallando.

Gracias

Código actionscript:
Ver original
  1. // acciones en fotograma 1
  2. stop();
  3. XML.prototype.ignoreWhite = true;
  4. import flash.display.Loader;      
  5. import flash.display.LoaderInfo;
  6. import flash.net.URLRequest;
  7. import fl.transitions.Tween;
  8. import fl.transitions.easing.*;
  9. import flash.geom.ColorTransform;
  10.  
  11. // separacion-> distancia entre las imágenes
  12. // tanto horizontal como vertical
  13. var separacion:Number = 110;
  14. var separacion2:Number = 77;
  15. // vbles para pasar de página
  16. var pagina_actual:Number = 1;
  17. var num_paginas:Number;
  18. // array donde metemos los elementos del XML
  19. var IMG_array:Array;
  20. // objeto XML que carga la lista de miniaturas
  21.  
  22. var miniaturasXML:XML;
  23. var loader:Loader;
  24. var xmlLoader:URLLoader;
  25. function Main() {
  26. * * loader = new Loader();
  27. * * addChild(loader);
  28. * * xmlLoader = new URLLoader(new URLRequest("../album/verMiniaturas.xml"));
  29.     xmlLoader.addEventListener(Event.COMPLETE, mostrarMiniaturas);
  30. }
  31. var lienzo:MovieClip = new MovieClip();
  32. lienzo.name = "lienzo_miniaturas";
  33. // funcion que se ejecuta al cargar el XML
  34. function mostrarMiniaturas() {
  35. // contadores de columna y fila para
  36. // disponer las miniaturas
  37. var fila:Number = 0;
  38. var col:Number = 0;
  39. // paso los datos del XML al array
  40. IMG_array = this.firstChild.childNodes;
  41. // como caben 12 fotos por página podemos
  42. // saber el núm de páginas necesarias para
  43. // mostrar todas las fotos
  44. num_paginas = Math.ceil(IMG_array.length/8);
  45. // creo el clip donde meteremos todas las miniaturas
  46.  
  47. *
  48. addChild(lienzo);// lo posiciono donde nos conviene
  49.  
  50. lienzo.x = 0;
  51. lienzo.y = 0;
  52. // y lo enmascaro con el clip situado en la
  53. // capa mascara. se enmascara para hacer el deslizamiento del
  54. // clip cuando tengamos muchas miniaturas y no entren todas a
  55. // la vez en pantalla (nuestro caso)
  56. lienzo.mask = mascara_mc;
  57. // recorro el array que contiene la lista con los nombres de
  58. // los archivos de las miniaturas e invoco la función crearMiniatura
  59. // que es la que carga la imagen, la recoloca, le pone un pequeño
  60. // marco y le asigna las acciones para verla ampliada
  61. for (var k:Number = 0; IMG_array[k]; k++) {
  62. // extraigo la ruta del archivo de imagen
  63. //var ruta:String = "minis/"+IMG_array[k].attributes.nombre;
  64. // como sólo tengo tres columnas, cuando llegue a
  65. // la tercera, avanzo una fila y retorno a la primera
  66. if (col>1) {
  67. col = 0;
  68. fila++;
  69. }
  70. // creo la miniatura. extraigo la ruta del archivo de imagen
  71. // y la paso como tercer parámetro
  72. crearMiniatura(col, fila, IMG_array[k].attributes.nombre);
  73. col++;
  74. }
  75. }
  76.  
  77. function crearMiniatura(columnaF:Number, filaF:Number, ruta:String) {
  78. // bajo_clip es el clip que contendrá el marco de la miniatura
  79. var bajo_clip:MovieClip = new MovieClip();
  80. clip.name = "bajo_"+filaF+"_"+columnaF;
  81. lienzo.addChild(bajo_clip);
  82.  
  83. // clip contendrá la imagen
  84. var clip:MovieClip = new MovieClip();
  85. clip.name = "foto_"+filaF+"_"+columnaF;
  86. lienzo.addChild(clip);
  87. // para cargar la miniatura definimos un objeto MovieClipLoader
  88. // y un objeto detector de eventos
  89. var mi_mcl:Loader = new Loader();
  90. var myRequest:URLRequest =      
  91. new URLRequest("album/minis/"+ruta);
  92. mi_mcl.load(myRequest);
  93.  
  94. mi_mcl.contentLoaderInfo.addEventListener(Event.OPEN,showPreloader);
  95. mi_mcl.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,showProgress);
  96. mi_mcl.contentLoaderInfo.addEventListener(Event.COMPLETE,showLoadResult);
  97.  
  98. function showPreloader(evt:Event):void {
  99. // cuando comienza la carga de la imagen
  100. // ponemos al _alpha a 0
  101. mi_mcl.alpha = 0;
  102. };
  103. function showProgress(evt:ProgressEvent):void {
  104. // aquí podéis poner acciones para mostrar una precarga,
  105. // este caso no lo hemos considerado oportuno
  106. };
  107. // cuando ya se ha completado la carga y tenemos disponible el clip
  108. function showLoadResult(evt:Event):void {
  109. // recolocamos la imagen (todavía está oculta, con _alpha=0)
  110. mi_mcl.x = (separacion*columnaF)+(100-mi_mcl.width)*0.5;
  111. mi_mcl.y = (separacion2*filaF)+(67-mi_mcl.height)*0.5;
  112. // recolocamos el marco que rodea a la foto
  113. bajo_clip.x = mi_mcl.x;
  114. bajo_clip.y = mi_mcl.y;
  115. // dibujamos el marco
  116. with (bajo_clip) {
  117. beginFill(0x516d6e);
  118. lineStyle(1, 0x516d6e, 100);
  119. lineTo(mi_mcl._width, 0);
  120. lineTo(mi_mcl._width, mi_mcl._height);
  121. lineTo(0, mi_mcl._height);
  122. lineTo(0, 0);
  123. endFill();
  124. }
  125. // al pinchar sobre el área del marco,
  126. // mostramos la foto grande con la función
  127. // verFotoGrande
  128. bajo_clip.addEventListener(MouseEvent.CLICK, verFotoGrande(ruta));
  129. // muestro la miniatura animando el _alpha hasta 100
  130. var myTween:Tween = new Tween(mi_mcl, "_alpha", Regular.easeOut, 0, 100, 2, true);
  131. };
  132. }
  133.  
  134. function verFotoGrande(ruta:String) {
  135. // creo el clip donde irá la foto grande en una profundidad fija
  136. // para que se reemplace cada vez que pincho en una miniatura
  137. var grande:MovieClip = new MovieClip();
  138. grande.name = "grande_mc", 2*IMG_array.length+11;
  139. addChild(grande);
  140. // igual con el clip que contendrá el marco
  141. var bajo_grande:MovieClip = new MovieClip();
  142. bajo_grande.name = "bajo_grande_mc", 2*IMG_array.length+10;
  143. addChild(bajo_grande);
  144. // posición vertical fija
  145. grande.y = 0;
  146. // para cargar la foto grnade definimos otro objeto MovieClipLoader
  147. // y otro objeto detector de eventos
  148. var grande_mcl:Loader = new Loader();
  149. var myRequest:URLRequest =      
  150. new URLRequest("album/originales/"+ruta);
  151. grande_mcl.load(myRequest);
  152.  
  153. grande_mcl.contentLoaderInfo.addEventListener(Event.OPEN,showPreloader);
  154. grande_mcl.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,showProgress);
  155. grande_mcl.contentLoaderInfo.addEventListener(Event.COMPLETE,showLoadResult);
  156.  
  157. function showPreloader(evt:Event):void {
  158. // aplico una transformación de color que deja el clip
  159. // tintado de blanco
  160. var newColorTransform = grande_mcl.transform.colorTransform;
  161. newColorTransform.color = {ra:100, rb:255, ga:100, gb:255, ba:100, bb:255, aa:100, ab:0};
  162. grande_mcl.transform.colorTransform = newColorTransform;
  163.  
  164. };
  165. function showProgress(evt:ProgressEvent):void {
  166. // aquí podéis poner acciones para mostrar una precarga,
  167. // este caso no lo hemos considerado oportuno
  168. // aquí podéis poner acciones para mostrar una precarga,
  169. // este caso no lo hemos considerado oportuno
  170. };
  171. function showLoadResult(evt:Event):void {
  172. // recolocamos la imagen (todavía está oculta)
  173. grande_mcl.x = 210+Math.round((455-grande_mcl.width)*0.5);
  174. // recolocamos el marco que rodea a la foto grande
  175. bajo_grande.x = grande_mcl.x;
  176. bajo_grande.y = grande_mcl.y;
  177. // dibujamos el marco
  178. with (bajo_grande) {
  179. beginFill(0x516d6e);
  180. lineStyle(1, 0x516d6e, 100);
  181. lineTo(target_mc._width, 0);
  182. lineTo(target_mc._width, target_mc._height);
  183. lineTo(0, target_mc._height);
  184. lineTo(0, 0);
  185. endFill();
  186. }
  187. // con estas rutinas hacemos la transición de color desde el blanco
  188. var indiceColor:Number = 255;
  189. var intervaloColor = setInterval(cambiarColor, 0);
  190. function cambiarColor() {
  191. var newColorTransform = grande_mcl.transform.colorTransform;
  192. newColorTransform.color = {ra:100, rb:indiceColor, ga:100, gb:indiceColor, ba:100, bb:indiceColor, aa:100, ab:0};
  193. grande_mcl.transform.colorTransform = newColorTransform;
  194. indiceColor -= 2;
  195. if (indiceColor == -1) {
  196. clearInterval(intervaloColor);
  197. }
  198. }
  199. };
  200. }
  201.  
  202. // con esta función desplazo el lienzo de las miniaturas para
  203. // pasar de página
  204. function moverLienzo(posY:Number) {
  205. var myTween:Tween = new Tween(lienzo, "y", Regular.easeOut, lienzo.y, posY, 1, true);
  206. }
  207. // deshabilito de inicio el botón de volver atrás
  208. // ya que se muestra la página 1

Última edición por Goole; 24/03/2011 a las 08:06

Etiquetas: traducir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:33.