• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

stinkle

Redimensionar imagens no Flash 8

10 mensagens neste tópico

Para fazeres o que queres vai precisar de usar a classe MovieClipLoader para saberes o exacto momento em que a imagem carrega, e nesse momento redimensionar o movieclip.

Exemplo:

//1º frame da timeline
var mcLoader:MovieClipLoader = new MovieClipLoader();
var loadListener:Object = new Object();

loadListener.onLoadInit = function (mc:MovieClip){ 
	/*Este código é executado quando o primeiro frame do movieclip é executado*/
	mc._width = 300;
	mc._height = 300;
}

mcLoader.addListener(loadListener);

botao.onRelease = function(){
mcLoader.loadClip("FOTO1.JPG",caixa);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pelo post e um GRANDE obrigado!! :cheesygrin:

Está tudo a funcionar a 100% ;)

Sabes como se faz uma barra de loading? Eu ja vi e inclusivé fiz download de muitas samples mas ainda não descobri como funciona :hmm:

Se esta pergunta não deveria estar neste tópico então as minhas desculpas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mais uma vez, um evento da classe MovieClipLoader é útil.

Basta acrescentar:

loadListener.onLoadProgress = function(mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
   var percent:Number = (bytesLoaded/ bytesTotal)*100;
   trace(percent+"%");
};

Agora podes utilizar aquela variável (percent) da maneira que quiseres.

Por exemplo, se tiveres um mc que é uma barra, podes atribuir aquela variável à propriedade _xscale.

No google se procurares por "MovieClipLoader" encontras muito sobre o assunto.

Nota:O scope daquela variável está definida apenas dentro da função

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado mais uma vez uma vez pela ajuda.

Só uma pergunta: Para por a percentagem num percent_txt (caixa de texto dinâmica) é só substituir pelo trace não é?

E pa reduzir a perecntagem a 0 casas décimais?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para arredondar podes usar o que achares melhor:

Math.ceil()

Math.floor()

Math.round()

loadListener.onLoadProgress = function(mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
   var percent:Number = (bytesLoaded/ bytesTotal)*100;
   percent_txt.text = Math.ceil(percent)+"%";
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas novamente e mais uma vez conseguiste ajudar-me. Sinto-me tentado a colocar-te mais uma dúvida:

Qual é o problema do código abaixo? É que à segunda vez que carrego ele põe o "nextphoto_cmd.enabled=false". À primeira vez abre a FOTO2.JPG mas é mesmo assim.

on (release){
contador+=1;
if (contador<43) {
	_root.mcLoader.loadClip("../galeria_fotos/FOTO" + contador + ".JPG", _root.main_mc.caixaimgs_mc);
}
if (contador=43){
	_root.mcLoader.loadClip("../galeria_fotos/FOTO" + contador + ".JPG", _root.main_mc.caixaimgs_mc);
	_root.main_mc.nextphoto_cmd.enabled=false;
}
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Oi, penso que o problema é no segundo if.

O operador para comparar igualdade é ==.

Como está, estás a atribuir o valor 43 à variável contador.

Edit: Um bitaite... achava melhor colocares o incremento (contador++;) dentro do primeiro if.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

OBRIGADÃO!!

É que ainda tenho o VB muito fresco... E passar do VB po C++ / AS é esquisito porque no VB era tudo feito de qualquer maneira (sem ; sem == sem {} etc.). Enfim, volto a agradecer.

PS - Como encerro o tópico?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estamos cá é para nos ajudarmos uns aos outros.

Quando ao AS, se estás a entrar tb no C++, é de reparar que o AS2.0 tb é uma linguagem Orientada a Objectos mas mais parecida a Java.

Então com o AS3.0 ainda mais, pois vem do mesmo standart.

Para fechar, é que um Moderador passe por cá.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora