Galera consegui fazer, mas estou com mais um problema, o tamanho da imagem.
As imagens deve variar de tamanho, mas o Canvas muda mas a imagem interna,
não. Esse é o código que ficou:

package br.com.viafacil
{
    import mx.containers.Canvas;
    import mx.controls.Image;

    public class IconMapArray extends Canvas
    {
        [Embed(source="../../../../assets/icones/verde_000_ativo.swf")]
        private var verde_000_ativo: Class;
        [Embed(source="../../../../assets/icones/verm_000_ativo.swf")]
        private var verm_000_ativo: Class;

        private var _width:Number;
        private var _height:Number;
        private var _imgGreen:Image = new Image;
        private var _imgRed:Image = new Image;

        public function IconMapArray()
        {
            //TODO: implement function
            super();

            _imgGreen.source = verde_000_ativo;
            _imgGreen.scaleContent = true;
            _imgRed.source = verm_000_ativo;

            this.addChild(_imgGreen);
            this.addChild(_imgRed);
        }

        override public function get width():Number
        {
            return _width;
        }

        override public function set width(value:Number):void
        {
            _width = value;

            super.width = this.width;

            var child:Array = this.getChildren();

            for(var i:int = 0;i < child.length; ++i) {
                if(this.getChildAt(i) is Image) {
                    Image(this.getChildAt(i)).width = this.width;
                } else {
                    this.getChildAt(i).width = this.width;
                }
            }
        }
    }
}

2008/5/20 Fabio Aguiar <[EMAIL PROTECTED]>:

> blz, vou tentar
>
>
> 2008/5/20 Rafael Gomes Dantas <[EMAIL PROTECTED]>:
>
>> Faz assim então:
>>
>> public class Nome extends Canvas {
>>     private var _dataProvider:Array = new Array();
>>
>>     public function set dataProvider(sourceList:Array):void
>>     {
>>          this._dataProvider = sourceList;
>>
>>          /* alguma lógica para adicionar os sources como "new Images" e
>> pra remover aqueles que não existem no novo provider */
>>
>>     }
>> }
>>
>> 2008/5/20 Fabio Aguiar <[EMAIL PROTECTED]>:
>>
>>> o problema é que vou criar várias imagens como essa com várias
>>> combinações diferentes, na verdade podem ter umas 30 combinações diferentes,
>>> por isso acho mais fácil criar um componente e abrir várias instancias
>>> quando carregar a aplicação.
>>>
>>> Talvez eu esteja extendendo o controle errado, poderia ser uma canvas, da
>>> forma que você mostrou abaixo, mas como eu faria isso?
>>>
>>> Obrigado
>>>
>>> 2008/5/20 Rafael Gomes Dantas <[EMAIL PROTECTED]>:
>>>
>>> É uma idéia interessante, mas acho mais fácil você criar dois componentes
>>>> images e posicionar eles dentro de um canvas envelope.
>>>>
>>>> <mx:Canvas>
>>>>     <mx:Image source="src1" x="0" y="0"/>
>>>>     <mx:Image source="src2" x="0" y="0"/>
>>>> </mx:Canvas>
>>>>
>>>> 2008/5/20 Fabio Aguiar <[EMAIL PROTECTED]>:
>>>>
>>>> Bom dia pessoal, preciso extender um controle de imagem para mostrar
>>>>> duas imagens distintas uma sobre a outra, por exemplo, tenho várias 
>>>>> imagens,
>>>>> metade verde, metade vermelha. As duas imagens tem o mesmo tamanho e deve
>>>>> ser combinadas como ativo, inativo, etc. Então preciso carregar duas 
>>>>> imagens
>>>>> num mesmo source. Alguem sabe como fazer isso?
>>>>>
>>>>> Segue trecho do código:
>>>>>
>>>>> package br.com.viafacil
>>>>> {
>>>>>     import mx.controls.Image;
>>>>>
>>>>>     public class IconMap extends Image
>>>>>     {
>>>>>         private var _source:Object;
>>>>>
>>>>>         [Embed(source="/assets/icones/verde_000_ativo.swf")]
>>>>>         private var verde_000_ativo: Class;
>>>>>         [Embed(source="/assets/icones/verm_000_ativo.swf")]
>>>>>         private var verm_000_ativo: Class;
>>>>>
>>>>>         public function IconMap()
>>>>>         {
>>>>>             super();
>>>>>             switch(_imgType) {
>>>>>                 case 0:
>>>>>                     this.source=verde_000_ativo;
>>>>>                     break;
>>>>>             }
>>>>>         }
>>>>>
>>>>>         private var _imgType:Number = 0;
>>>>>
>>>>>         public function set ImageType(value:Number):void {
>>>>>             _imgType = value;
>>>>>         }
>>>>>
>>>>>         public function get ImageType():Number {
>>>>>             return _imgType;
>>>>>         }
>>>>>
>>>>> }
>>>>>
>>>>> --
>>>>> Fabio Aguiar
>>>>> AguiarTech Consultoria
>>>>> [EMAIL PROTECTED]
>>>>> Não colabore com Spammers, ao encaminhar suas mensagens, apague os
>>>>> endereços de email do corpo da mensagem e encaminhe com cópia oculta
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Fabio Aguiar
>>> AguiarTech Consultoria
>>> [EMAIL PROTECTED]
>>> Não colabore com Spammers, ao encaminhar suas mensagens, apague os
>>> endereços de email do corpo da mensagem e encaminhe com cópia oculta
>>>
>>>
>>
>> >>
>>
>
>
> --
> Fabio Aguiar
> AguiarTech Consultoria
> [EMAIL PROTECTED]
> Não colabore com Spammers, ao encaminhar suas mensagens, apague os
> endereços de email do corpo da mensagem e encaminhe com cópia oculta
>



-- 
Fabio Aguiar
AguiarTech Consultoria
[EMAIL PROTECTED]
Não colabore com Spammers, ao encaminhar suas mensagens, apague os endereços
de email do corpo da mensagem e encaminhe com cópia oculta

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a