Primeiramente, muito obrigado por sua atenção O_M3_. Creio que o valor da minha constante LENGTH esteja correto, pois ela está definida no início da classe da seguinte maneira:
private static var IDENTITY_MATRIX:Array = [ 1,0,0,0,0, 0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1 ] private static var LENGTH:Number = IDENTITY_MATRIX.length; O problema ocorre quando a aplicação executa a função copyMatrix, exatamente na instrução: this[i] = p_matrix[i]; A aplicação apresenta um erro informando que não consegue acessar a posição 0 (zero) da "variável" this, ou seja da instancia. Eu acredito que, mesmo minha classe extendendo a classe array, ela ainda não está inicializada. E se eu a inicializo como: var cmm:ColorMatrixManipulation = new ColorMatrixManipulation([0]); Dá o mesmo erro. Como seria o procedimento para inicializar essa minha classe que extende Array, de forma que eu possa utilizar o THIS corretamente? Eu tentei, no construtor, colocar: this.push(parametro); e também tentei this = new Array(LENGTH); (mas isso tá errado, foi só uma tentativa mesmo). Alguém poderia me ajudar por favor? É que não sei o que eu estou fazendo de errado. Muito obrigado novamente pessoal... Abraços! On 7 out, 02:59, O_M3_ <[EMAIL PROTECTED]> wrote: > na funçao copyMatrix eu colocaria um output pra ver o que retorna na > constante LENGTH...Talvez esteja em 0 e seu for nao avança sendo i < l > > On 6 out, 19:19, juniorgarcon <[EMAIL PROTECTED]> wrote: > > > 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 -~----------~----~----~----~------~----~------~--~---