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 [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
-~----------~----~----~----~------~----~------~--~---