Olá pessoal do Grupo, tudo bem aí como todo mundo?
Eu estou com uma dúvida aqui e estou apanhando dela a algum tempo já..
rs..
Eu estou criando uma aplicação de manipulação de imagem (brilho e
contraste).
Eu criei uma classe que extende a classe "Array" do flex, cujo
construtor pode receber um Array como parâmetro.

public class ColorMatrixManipulation extends Array {
                public function ColorMatrixManipulation(matrix:Array) {
                        matrix = fixMatrix(matrix);
                        copyMatrix(((matrix.length == LENGTH) ? matrix : 
IDENTITY_MATRIX));
                }
}

Eu acabei encontrando essas funções (brilho e contraste) já
implementada por "Grant Skinner", onde todos os créditos sobre esta
classe devem ir para ele.

o meu método copyMatrix é o seguinte:

        private function copyMatrix(p_matrix:Array):Void {
                var l:Number = LENGTH;
                for (var i:Number=0;i<l;i++) {
                        this[i] = p_matrix[i];
                }
        }

Um código bem simples, cujo objetivo é popular o "array" da classe
"ColorMatrixManipulation". Estou instanciando minha variável da
seguinte maneira, na minha aplicação:

var cmm:ColorMatrixManipulation = new ColorMatrixManipulation([0]);

Só que isso dá erro, justamente quando ele chama a função copyMatrix.
O erro apresentado diz que ele não consegue acessar a posição 0 para o
comando this[i]. Tenho a impressão de que o "array" da classe
ColorMatrixManipulation não está criado. É como se a classe estivesse
instanciada, mais o Array correspondente ao "this", não

Alguém saberia me dizer o que eu estou fazendo de errado?! Estou com
esse problema a um tempinho e não sei como fazer para "instanciar" o
array do "this".

Cheguei a modificar o construtor para:

public function ColorMatrixManipulation(matrix:Array=null) {
                        this.push(matrix);
                        matrix = fixMatrix(matrix);
                        copyMatrix(((matrix.length == LENGTH) ? matrix : 
IDENTITY_MATRIX));
                }

e tentei instaciar de duas formas minha variável:
var cmm:ColorMatrixManipulation = new ColorMatrixManipulation([0]);
e
var cmm:ColorMatrixManipulation = new ColorMatrixManipulation();

mais de nada adiantou.

Desculpem a falta de experiência pessoal, mais estou começando a mexer
no flex e essa está sendo minha primeira aplicação.

Muito obrigado desde já. Obrigado mesmo pela atenção de todos.

Tenha uma ótima noite...

Atenciosamente,

Júnior
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
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