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

cargar desde un boton una imagen

Estas en el tema de cargar desde un boton una imagen en el foro de Flash y Actionscript en Foros del Web. Hola tengo una duda es en flex 4, verán: lo que quiero es que cuando de clic en un boton me cargue una imagen que ...
  #1 (permalink)  
Antiguo 23/05/2010, 14:17
Avatar de sadalsuud  
Fecha de Ingreso: marzo-2010
Ubicación: en la casa del duende
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
cargar desde un boton una imagen

Hola tengo una duda es en flex 4, verán: lo que quiero es que cuando de clic en un boton me cargue una imagen que tengo del PC, todo está en modo local, nada de servidores ni php nada de eso, que me cargue la imagen en un SkinnableContainer

mi codido:

Código AS:
Ver original
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
  3.                xmlns:s="library://ns.adobe.com/flex/spark"
  4.                xmlns:mx="library://ns.adobe.com/flex/mx"
  5.                xmlns:sinc="sinergia.componentes.*"
  6.                xmlns:sinb="sinergia.base.*" minWidth="955" minHeight="600"
  7.                cachePolicy="off" alpha="1.0" backgroundColor="#FFFFFF">
  8.    
  9.    
  10.     <fx:Script>
  11.         <![CDATA[
  12.             import mx.controls.Image;
  13.             //import sinergia.skins.SHGroupSkin;
  14.             //import sinergia.skins.SVGroupSkin;
  15.             public function crearImagen():void{
  16.                 var ruta:String = "C:\Documents and Settings\Duende\Mis documentos\Mis imágenes\twitter-caido.png";
  17.                 var img:Image = new Image();
  18.                 //img.measuredHeight = 500;
  19.                 //img.measuredWidth = 500;
  20.                 //addChild(img);
  21.                 addElement(img);
  22.                 img.source = ruta;
  23.             }
  24.            
  25.         ]]>
  26.     </fx:Script>
  27.    
  28.     <s:layout>
  29.         <s:BasicLayout />  
  30.     </s:layout>
  31.    
  32.    
  33.     <s:SkinnableContainer
  34.         left="10" top="10">
  35.         <s:layout>
  36.             <s:HorizontalLayout gap="10"/>
  37.         </s:layout>
  38.         <s:VGroup>
  39.             <s:Button label="Imagen" click="crearImagen()" skinClass="skinboton"/> 
  40.         </s:VGroup>
  41.        
  42.     </s:SkinnableContainer>
  43.    
  44.    
  45. </s:Application>

Usando addChild para agregar la imagen al contenedor me sale ese mensaje:

Error: addChild() is not available in this class. Instead, use addElement() or modify the skin, if you have one.
at spark.components.supportClasses::SkinnableComponen t/addChild()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\c omponents\supportClasses\SkinnableComponent.as:103 8]

pero entonces, si primero uso addElement que es un metodo que recibe objetos de cuyas clases implementen la interfaz IVisualElement la cual implementa UIComponent.

Image viene de: Image -> SWFLoader -> UIComponent
segun: http://help.adobe.com/en_US/FlashPla...ols/Image.html

Entonces por herencia deberia tambien poder usar ese metodo y no me da problemas de compilacion, solo que cuando le doy clic al boton, me aparece un logo como cuando falta una imagen.

Me pregunto si tiene que estar la imagen en algun directorio en especial en mi proyecto.

Por otro lado, si uso addChild tendria que usar Skinparts verdad? lo que no quiero, pues la idea seria agregar otros elementos como videos, otros botones, labels, pulsando botones.

Ayuda... gracias de antemano
  #2 (permalink)  
Antiguo 17/08/2010, 16:08
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: cargar desde un boton una imagen

porque no intentas con los mx buttoms, son los clasicos que deja colocar icono para el boton, yo tuve un problema parecido pero lo resolvi pasando los <s:buttons a <mx:buttons

Etiquetas: flex, botones
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 23:21.