lendadomato 1 Denunciar post Postado Fevereiro 14, 2011 Olá amigos, tenho uma imagem carregada localmente e essa imagem precisa conter algumas mascaras que ao clicar no botão para o frame 2 ela desaparece, preciso que ela acompanhe as mascaras até uns 10 quadros e a cada quadro tem uma mascara diferente, abaixo o codigo de carregamento da imagem: import flash.events.MouseEvent; import flash.net.FileReference; import flash.net.FileFilter; import flash.utils.ByteArray; import flash.events.MouseEvent; import flash.events.Event; import flash.events.IOErrorEvent; import flash.display.MovieClip; import fl.controls.ProgressBarMode; var fileRef:FileReference; //botão Configurar manipular a navegação browseButton.buttonMode=true; browseButton.mouseChildren=false; browseButton.addEventListener(MouseEvent.CLICK, onBrowseButtonClicked); progressBar.visible=false; // Essa função é chamada quando o botão Navegar é clicado. function onBrowseButtonClicked(event:MouseEvent):void { trace("onBrowse"); fileRef=new FileReference(); fileRef.addEventListener(Event.SELECT, onFileSelected); var swfTypeFilter:FileFilter = new FileFilter("SWF/JPG/PNG Files","*.jpeg; *.jpg;*.gif;*.png"); var allTypeFilter:FileFilter = new FileFilter("All Files (*.*)","*.*"); fileRef.browse([swfTypeFilter, allTypeFilter]); } // Essa função é chamado depois que o usuário selecionou um arquivo na janela do navegador de arquivos. function onFileSelected(event:Event):void { trace("Arquivo Selecionado"); // Este callback será chamado quando o arquivo é carregado e pronto para uso fileRef.addEventListener(Event.COMPLETE, onFileLoaded); // Este callback será chamado se houver erro durante o upload fileRef.addEventListener(IOErrorEvent.IO_ERROR, onFileLoadError); // Callback opcional para acompanhar o progresso de upload fileRef.addEventListener(ProgressEvent.PROGRESS, onProgress); // Informa o FileReference para carregar o arquivo fileRef.load(); // Mostrar barra de progresso progressBar.visible=true; progressBar.mode=ProgressBarMode.MANUAL; progressBar.minimum=0; progressBar.maximum=100; browseButton.visible=false; } // Essa função é chamada para nos informar sobre os progressos do upload function onProgress(event:ProgressEvent):void { var percentLoaded:Number=event.bytesLoaded/event.bytesTotal*100; trace("Carregado: "+percentLoaded+"%"); progressBar.setProgress(percentLoaded, 100); } // Essa função é chamada depois que o arquivo tenha sido carregado. function onFileLoaded(event:Event):void { var fileReference:FileReference=event.target as FileReference; // Estes passos indicados a seguir são para passar os dados como DisplayObject // Estas etapas são específicas para este exemplo. var data:ByteArray=fileReference["data"]; trace("Arquivo carregado"); fileRef.removeEventListener(Event.COMPLETE, onFileLoaded); fileRef.removeEventListener(IOErrorEvent.IO_ERROR, onFileLoadError); fileRef.removeEventListener(ProgressEvent.PROGRESS, onProgress); browseButton.visible=true; var movieClipLoader:Loader=new Loader(); movieClipLoader.loadBytes(data); movieClipLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onMovieClipLoaderComplete); } function onFileLoadError(event:Event):void { // Ocultar barra de progresso progressBar.visible=true; browseButton.visible=true; fileRef.removeEventListener(Event.COMPLETE, onFileLoaded); fileRef.removeEventListener(IOErrorEvent.IO_ERROR, onFileLoadError); fileRef.removeEventListener(ProgressEvent.PROGRESS, onProgress); trace("Arquivo deu erro."); } // Esta função abaixo é específica para esse exemplo. // Ele faz o processamento necessário para exibir o swf / png / jpeg arquivo que acabamos carregado. function onMovieClipLoaderComplete(event:Event):void { // Ocultar barra de progresso progressBar.visible=false; var imagem:DisplayObject=event.target.content; var loader:Loader=event.target.loader as Loader; // Ajustar para estágio trace("Largura da Imagem Carregada.width = "+imagem.width); trace("Altura da Imagem Carregada = "+imagem.height); imagem.scaleX=loader.width/imagem.width; imagem.scaleY=loader.height/imagem.height; trace("Posição da Imagem.scaleX = "+imagem.scaleX); trace("Posição da Imagem.scaleY = "+imagem.scaleY); trace("Largura do Palco = "+this.stage.width); mc_imagem.addChild(loader); } aqui um dos botões: btn_1.addEventListener(MouseEvent.CLICK, irQuadro2); function irQuadro2 (e:MouseEvent):void { gotoAndStop(2); } não sei nem por onde começar, desde já agradeço a ajuda! Compartilhar este post Link para o post Compartilhar em outros sites
lendadomato 1 Denunciar post Postado Fevereiro 15, 2011 bom pessoal, testei o sistema com o carregamento da imagem via php fazendo request da url e mascarando o mc q recebe a imagem, assim q eu clico no botão para alterar a máscara da imagem funciona direitinho, mas eu preciso mesmo é da imagem carregada localmente com o sistema q tenho. poxa, to quase usando o sistema de carregamento via php, vejam o link abaixo do projeto quase finalizado, só to dependendo disso para finalizar. Projeto teste vejam q tenho apenas um modelo e gostaria de mudar para os outros sem ter q upar as imagens novamente. me ajuda gente! Compartilhar este post Link para o post Compartilhar em outros sites
lendadomato 1 Denunciar post Postado Fevereiro 16, 2011 pessoal, consegui resolver na cagada! o que eu fiz foi o seguinte: deixei o desenho da mascara no 1º frame e criei um Motion Tween que foi convertido em um simbolo, aí eu pensei, vou editar esse simbolo colocar um stop no 1º frame e converter os 10 frames em keyframes e no último frame que é o 10º vou mudar o desenho dele, no lugar coloquei o desenho de uma bolinha para testar a alteração, nada mudou aí foi q pensei em instanciar esse simbolo como "mascara" e colocar essa instancia no gotoAndStop no bendito botão, testei e a coisa funcionou perfeitamente: vejam como ficou para quem possa precisar: btn_1.addEventListener(MouseEvent.CLICK, irQuadro10); function irQuadro10 (e:MouseEvent):void { mascara.gotoAndStop(10); } sei que para voltar aos outros frames devo instanciar todos os outros botões para ativar a mascara que preciso. obrigado pela ajuda de todos que leram e tentaram de alguma forma resolver a questão! Compartilhar este post Link para o post Compartilhar em outros sites