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

Galeria de imagenes - codigo fuente

Estas en el tema de Galeria de imagenes - codigo fuente en el foro de Flash y Actionscript en Foros del Web. Hola colegas del foro, veran estoy haciendo una galeria de productos, que todavia no tengo los productos definitivos, pero mientras me los pasan estoy realizando ...
  #1 (permalink)  
Antiguo 22/07/2009, 12:59
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 9 meses
Puntos: 20
Galeria de imagenes - codigo fuente

Hola colegas del foro, veran estoy haciendo una galeria de productos, que todavia no tengo los productos definitivos, pero mientras me los pasan estoy realizando una con datos de prueba.

He subido la galeria a un hosting gratuito, aunque la galeria ya es funcional me hace falta varios detalles, como por ejemplo remarcar la categoria y el producto que se estan mostrando, varios detallitos que me gustaria me ayudaran a completar entre todos a manera de aprendizaje y que sirva de ayuda para los que se estan inicando en esto de flex.
La galeria puede verse aca, y estos son los archivos del proyecto:

http://sergestux.hostei.com/galeria/estilos.css
http://sergestux.hostei.com/galeria/imagenes/
http://sergestux.hostei.com/galeria/catalogo.xml

Las imagenes y el archivo xml las tome de un ejemplo de adobe.
Este es el codigo de la galeria al momento:

Código xml:
Ver original
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" borderColor="#FBFDFF" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#FFFFFF, #FFFFFF]"
  3.     creationComplete="Iniciar();">
  4. <mx:HTTPService id="XMLCat" url="catalogo.xml" resultFormat="e4x" result="CargarCatalogo();"/>
  5.     <mx:Blur id="blurImage" duration="1000"
  6.        blurXFrom="0.0" blurXTo="10.0"
  7.        blurYFrom="0.0" blurYTo="10.0"/>
  8.     <mx:Blur id="unblurImage" duration="1000"
  9.        blurXFrom="10.0" blurXTo="0.0"
  10.        blurYFrom="10.0" blurYTo="0.0"/>
  11.     <mx:WipeDown id="wipeOut" duration="1000"/>
  12.     <mx:WipeDown id="wipeIn" duration="1000"/>    
  13.        
  14. <mx:Script>
  15.     <![CDATA[
  16.        //import mx.collections.XMLListCollection;
  17.        import flash.events.KeyboardEvent;    //Para la cja de busqueda
  18.        import mx.controls.Alert;
  19.        private var Categoria:String;
  20.  
  21.        //Inicializo la aplicacion
  22.        private function Iniciar():void
  23.        {
  24.            XMLCat.send();            //Consulto el catalogo de productos
  25.        }
  26.        
  27.        //Solo se ejecuta una vez al inicio
  28.        private function CargarCatalogo():void
  29.        {
  30.            myrep.dataProvider=XMLCat.lastResult.Categoria;        //Cargo todos los productos            
  31.            myrep2.dataProvider=XMLCat.lastResult.Categoria.product;    //Cargo todos los productos
  32.            Categoria='0';    //Todos los productos al inicio
  33.            //Aca se podria cargar algun producto relevante por default (tendria que estar especificado en el xml)
  34.        }    
  35.  
  36.        //Se activa cuando se presiona sobre algun producto en especifico            
  37.        private function VerDetalle(Id:String):void
  38.        {    
  39.            Imagen.showBusyCursor=true;    //Por si tarda demasiado la carga de la imagen
  40.            Imagen.visible=false;        //Para activar el efecto                
  41.            txtNombre.text=XMLCat.lastResult.Categoria.product.(@productId==Id).name;
  42.            txtDescripcion.text=XMLCat.lastResult.Categoria.product.(@productId==Id).description;
  43.            Imagen.source=XMLCat.lastResult.Categoria.product.(@productId==Id).image;            
  44.            Imagen.showBusyCursor=false;
  45.            Imagen.visible=true;     //Para activar el efecto
  46.            //Aca me hace indicar de alguna forma que este producto es el que se esta visualizando en el panel principal
  47.        }
  48.        
  49.        //Se activa cuando se presiona sobre alguna categoria en especifica
  50.        private function VerCategoria(Id:String, Item:int):void
  51.        {    
  52.            if(Id=='0')    //Si son todos los productos
  53.            {
  54.                myrep2.dataProvider=XMLCat.lastResult.Categoria.product;    //Se carga todo el catalogo
  55.                PanelBuscar.title="Todos";
  56.            }
  57.            else
  58.            {
  59.                myrep2.dataProvider=XMLCat.lastResult.Categoria.(@id==Id).product;    //Se carga la categoria especifica
  60.                PanelBuscar.title=XMLCat.lastResult.Categoria.(@id==Id).@descripcion;    //La descripcion de la categoria seleccionada
  61.            }
  62.            Categoria=Id.toString();
  63.        //Aca se podria cargar algun producto relevante de esta categoria por default (tendria que estar especificado en el xml)
  64.        //Aca me hace falta indicar de alguna forma que alguna categoria es la que se esta visualizando por ahora                        
  65.        }
  66.  
  67.        //Se activa cuando se presiona una tecla en la caja de busqueda
  68.        private function TeclaPres(eventObj:KeyboardEvent):void
  69.        {
  70.            //if (eventObj.keyCode == 13)    //Para restringir que unicamente al presionar enter se haga la busqueda            
  71.                if (TxtBuscar.text.length > 0)    //Solo cuando haya algo que buscar
  72.                    Buscar(TxtBuscar.text)    
  73.        }
  74.        
  75.        //Busca un producto en los actuales, regresa la cantidad de productos que coinciden
  76.        private function Buscar(Producto:String):int
  77.        {
  78.            myrep2.dataProvider=XMLCat.lastResult.Categoria.product.(name.toString().toUpperCase().search(Producto.toUpperCase()) >= 0);        //Convierto ambos a mayuscula y busco
  79.            return myrep2.dataProvider.length;
  80.        }
  81.  
  82.        //Dispatched after all the subcomponents of a repeater are created
  83.        //Se activa cada que se cambia el dataprovider del repeater de productos        
  84.        private function UpdateCantProd():void
  85.        {
  86.            LblProductos.text=String(myrep2.dataProvider.length);    //Se actualiza la etiqueta de cantidad de productos
  87.        }        
  88.        
  89.    ]]>
  90. </mx:Script>  
  91.  
  92. <mx:Canvas width="100%" height="100%">
  93.  
  94. <mx:HDividedBox width="100%" height="100%">
  95.     <mx:Panel width="100%" height="100%" title="Producto" horizontalAlign="center">
  96.         <mx:VBox width="100%" height="100%" horizontalAlign="center">    
  97.             <mx:Tile width="100%" direction="horizontal" horizontalAlign="center">
  98.                 <mx:LinkButton label="Todos" click="VerCategoria('0',0)"/>            
  99.                 <mx:Repeater id="myrep">
  100.                     <mx:LinkButton id="BtnCategoria" label="{myrep.currentItem.@descripcion}"
  101.                        click="VerCategoria(event.currentTarget.getRepeaterItem().@id, 1);"/>
  102.                 </mx:Repeater>                    
  103.             </mx:Tile>
  104.             <mx:Label id="txtNombre"/>
  105.             <mx:Image id="Imagen" horizontalAlign="center" showEffect="{wipeIn}"/>            
  106.             <mx:Text id="txtDescripcion" width="500"/>
  107.         </mx:VBox>
  108.     </mx:Panel>
  109.     <mx:Panel id="PanelBuscar" title="Todos" width="200" height="100%">                
  110.             <mx:VBox width="100%" height="100%">
  111.                 <mx:VBox  width="100%" height="59" borderStyle="solid" cornerRadius="6" verticalAlign="middle" horizontalAlign="center">
  112.                     <mx:HBox width="100%">
  113.                             <mx:Label  text="Buscar" />
  114.                             <mx:TextInput id="TxtBuscar" keyUp="TeclaPres(event)"
  115.                                maxChars="30" restrict="A-Z a-z 0-9" width="138" />
  116.                     </mx:HBox>
  117.                     <mx:HBox width="100%">
  118.                         <mx:Label text="Productos:" fontWeight="bold" color="#05004C"/>
  119.                         <mx:Label text="0" id="LblProductos" color="#05004C" fontStyle="italic"/>
  120.                     </mx:HBox>
  121.                 </mx:VBox>
  122.                 <mx:VBox width="100%" height="450">
  123.                     <mx:Repeater id="myrep2" repeatEnd="UpdateCantProd();">
  124.                         <mx:VBox width="100%" styleName="VBoxFoto" horizontalAlign="center">
  125.                             <mx:LinkButton label="{myrep2.currentItem..name.text()}"                                
  126.                                click="VerDetalle(event.currentTarget.getRepeaterItem()..@productId)"                                
  127.                                />
  128.                             <mx:Image horizontalAlign="center" width="50" height="50" source="{myrep2.currentItem..image.text()}"
  129.                                click="VerDetalle(event.currentTarget.getRepeaterItem()..@productId)"
  130.                                 mouseDownEffect="{blurImage}" mouseUpEffect="{unblurImage}"                                                                
  131.                                />
  132.                         </mx:VBox>
  133.                     </mx:Repeater>
  134.                 </mx:VBox>
  135.             </mx:VBox>
  136.     </mx:Panel>
  137. </mx:HDividedBox>
  138. </mx:Canvas>
  139. <mx:Style source="estilos.css"/>
  140. </mx:Application>
  #2 (permalink)  
Antiguo 22/07/2009, 13:21
Avatar de ramoncito  
Fecha de Ingreso: febrero-2003
Ubicación: Viña del Mar
Mensajes: 224
Antigüedad: 21 años, 2 meses
Puntos: 10
Respuesta: Galeria de imagenes - codigo fuente

se ve bastante bien....

un cambio que yo le haría: No puedes aplicar el efecto blur cuando pasas sobre el teléfono...
__________________
:pensando: Ramon Martinez... Chile :adios:
  #3 (permalink)  
Antiguo 22/07/2009, 13:42
Avatar de pepebuitron  
Fecha de Ingreso: julio-2008
Ubicación: Veracruz, Ver. Mexico
Mensajes: 552
Antigüedad: 15 años, 10 meses
Puntos: 11
Respuesta: Galeria de imagenes - codigo fuente

Pregunto donde esta la galeria ???
__________________
La fuerza mas grande del Universo es: La Voluntad Humana.
Página Web Principal
  #4 (permalink)  
Antiguo 22/07/2009, 15:16
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 9 meses
Puntos: 20
Respuesta: Galeria de imagenes - codigo fuente

Cita:
Iniciado por ramoncito Ver Mensaje
un cambio que yo le haría: No puedes aplicar el efecto blur cuando pasas sobre el teléfono...
Si se le puede aplicar ese efecto, pero estoy tratando de dejarla completamente simple para que sea mas entendible.
Cita:
Iniciado por pepebuitron Ver Mensaje
Pregunto donde esta la galeria ???
La galeria como dije al principio puedes verla aca sergestux.hostei.com/galeria/ ahora que si a lo que te refieres es al codigo fuente, el unico que no se puede ver es el de flex, por eso lo puse tambien en el post, los demas codigos son un archivo css (no necesario), un archivo xml y las imagenes.

El ejemplo de adobe de donde saque el catalogo xml y las imagenes es este

Creo que si voy a subir el codigo fuente algun lado.
  #5 (permalink)  
Antiguo 24/07/2009, 09:04
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 9 meses
Puntos: 20
Respuesta: Galeria de imagenes - codigo fuente

Ya le agregue la opcion de ver le codigo fuente, si le dan click con el boton derecho luego en view source pueden ver el codigo.

Voy a cambiar los objetos donde muestro las imagenes por uno que se quede resaltado cuando doy click en alguna opcion, en la parte de categorias y en la del producto mismo, para no tener que programarlo. La pregunta es cual utilizo?
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 21:44.