Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Amanda_Flor

[Resolvido] Como redimensionar img dinâmica

Recommended Posts

Olá.. bom dia!

 

estou carregando umas imagens dentro de textos dinâmicos..

queria saber como faço pra redimensionar essas imagens.

Vejam só como estou carregando:

 

function carregaThumbs() {
	for (var i = 1; i < totalImagens; i++) {
		var nameFile:String = "images/large/"+  String(arrProdutos[i-1]) + ".jpg";
		var obj:Object = Object(String("foto" + String(i)));
		loadMovie(nameFile, obj);
	}
}

Tentei usar obj._width = 50; mas nem deu..

 

Alguém pode ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia,

já tentou usar obj._xscale e obj._yscale???

eu ja fiz algo parecido assim:

this.foto.loadMovie(_root.caminho);
this.foto._xscale = 100;
this.foto._yscale = 100;
só que no meu caso eu não usei obj e nem dinamicText, mas acredito que funcione também.

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei sim moxo, mas tbm não deu..

 

function carregaThumbs() {
        for (var i = 1; i < totalImagens; i++) {
                var nameFile:String = "images/large/"+  String(arrProdutos[i-1]) + ".jpg";
                var obj:Object = Object(String("foto" + String(i)));
                obj._xscale = 50;
                obj._yscale = 50;
                loadMovie(nameFile, obj);
        }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

o obj não pode ser redimensionado... você tem que redimensionar o MovieClip ou o dinâmicText que está recebendo o obj... ;) não sou expert em flash, mas talvez fosse melhor você usar outro método, tipo esse:

for (var i = 1; i < totalImagens; i++) {
     this.createEmptyMovieClip("foto", i);
     caminho = images/large/"+  String(arrProdutos[i-1]) + ".jpg";
     this["foto"+i].loadMovie(caminho);
     this["foto"+i]._xscale = 100;
     this["foto"+i]._yscale = 100;
}
o bom de usar o createEmptyMovieClip é que você tem como mudar qualquer propriedade do MC, como ._xscale,._yscale,._x,._y,._Alpha, etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

hummm... tendi..

o problema é que tenho 60 MCs no palco com instâncias: foto1, foto2, foto3..

carregando as imgs de um array:

var arrProdutos:Array = new Array("foto1", "foto2", "foto3",....);

Por isso uso isso:

var nameFile:String = "images/large/"+  String(arrProdutos[i-1]) + ".jpg";
var obj:Object = Object(String("foto" + String(i)));

 

Com sua ajuda, fiz isso:

function carregaThumbs() {
	for (var i = 1; i < totalImagens; i++) {
		 this.createEmptyMovieClip("foto", i);
		 caminho = "images/large/" + String(arrProdutos[i-1]) + ".jpg";
		 this["foto"+i].loadMovie(caminho);
		 this["foto"+i]._xscale = 50;
		 this["foto"+i]._yscale = 50;
	}
}

Mas quando testo com CTRL + Enter ñ dá erro, mas tbm não carrega as imagens..

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpa... mas faltou um "+i"...

coloca assim:

function carregaThumbs() {
        for (var i = 1; i < totalImagens; i++) {
                 this.createEmptyMovieClip("foto"+i, i);//olha o erro aki...  <_< 
                 caminho = "images/large/" + String(arrProdutos[i-1]) + ".jpg";
                 this["foto"+i].loadMovie(caminho);
                 this["foto"+i]._xscale = 50;
                 this["foto"+i]._yscale = 50;
        }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

ixi, mesmo assim continuou a mesma coisa, não dá erro, mas tbm não carrega..

Melhor postar o codigo todo que estou usando, talvez seja algo em outra linha..

 

var totalImagens:Number = 61;

var _this = this;
var chamou:Boolean = false;
var arrProdutos:Array = new Array("foto1", "foto2", "foto3", "foto4", "foto5", "foto6", "foto7", "foto8", "foto9", "foto10", "foto11", "foto12", "foto13", "foto14", "foto15", "foto16", "foto17", "foto18", "foto19", "foto20", "foto21", "foto22", "foto23", "foto24", "foto25", "foto26", "foto27", "foto28", "foto29", "foto30", "foto31", "foto32", "foto33", "foto34", "foto35", "foto36", "foto37", "foto38", "foto39", "foto40", "foto41", "foto42", "foto43", "foto44", "foto45", "foto46", "foto47", "foto48", "foto49", "foto50", "foto51", "foto52", "foto53", "foto54", "foto55", "foto56", "foto57", "foto58", "foto59", "foto60");
var arrImgs:Array = new Array();


function configInit() {
	for (var i = 1; i < totalImagens; i++) {
		arrImgs.push(String("images/large/" + arrProdutos[i-1] + ".jpg"));
		
		var prodAtual = _this["btn" + i];
		prodAtual.id = i;
		prodAtual._alpha = 0;
		prodAtual.onRollOver = function() {
			TweenLite.to(this,0.50,{_alpha:30, ease:Back.easeOut});
		};
		prodAtual.onRollOut = function() {
			TweenLite.to(this,0.50,{_alpha:0, ease:Back.easeOut});
		};
		prodAtual.onRelease = function() {
			Lightbox(sortArray(this.id - 1));

		};
	}

}



function sortArray(_id:Number):Array {
	var arrSortImgs:Array = new Array();
	for (var i = _id; i < arrImgs.length; i++) {
		arrSortImgs.push(arrImgs[i]);
	}
	if (arrSortImgs.length < arrImgs.length) {
		var dif:Number = arrImgs.length - arrSortImgs.length;
		for (var i = j = 0; j < dif; j++) {
			arrSortImgs.push(arrImgs[j]);
		}
	}
	//trace(arrSortImgs);
	return arrSortImgs;

}

var interval = setInterval(init, 1);
function init() {
	interval = clearInterval();
	if (!chamou) {
		chamou = true;

		carregaThumbs();
		configInit();
	}
}

/*CarregaThumbs MODO COMO EU ESTAVA CARREGANDO ANTES
function carregaThumbs() {
	for (var i = 1; i < totalImagens; i++) {
		var nameFile:String = "images/large/"+  String(arrProdutos[i-1]) + ".jpg";
		var obj:Object = Object(String("foto" + String(i)));
		loadMovie(nameFile, obj);
	}
}
*///CarregaThumbs


// MODO COMO você POSTOU
function carregaThumbs() {
        for (var i = 1; i < totalImagens; i++) {
                 this.createEmptyMovieClip("foto"+i, i);
                 caminho = "images/large/" + String(arrProdutos[i-1]) + ".jpg";
                 this["foto"+i].loadMovie(caminho);
                 this["foto"+i]._width = 50;
                 this["foto"+i]._height = 50;
        }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca no final desse código:

init();
se você não chamar a função... ela não carrega, não funciona! <_<

talvez funcione até com o seu jeito de carregar com obj...mas tem que chamar a função init();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diego Eveling, sem chamar no final a função init(); já estava carregando certinho com o outro modo.

Coloquei no final a função agora, mas mesmo assim não deu certo.

 

berseck, você é fera né moxo rs

eu ainda sou filhotinha rssss

 

Ajudinha please..

 

Bjinhus e obrigado estarem me ajudando moxos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Amanda, eu também sou iniciante...só tento ajudar porque somos um fórum...e um ajuda o outro! mas pesquisa algo sobre o que o Berseck disse...ele sim é bom em AS. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

realmente o MovieClipLoader é uma opção excelente, você pode chamar uma função redimensionar(), por exemplo, no onComplete; acho que é isso mesmo! :P mas no que eu puder ajudar...tamo aí!

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 - Eu trabalho...

2 - Eu não sou help desk....

3 - aguarde fia... nasceu de 7 meses? -.-

 

Faça algo assim:

var mcl:MovieClipLoader = new MovieClipLoader();
var mc:MovieClip = this.createEmptyMovieClip("mc",1);
var obj:Object = new Object();

mcl.addListener(obj);

mcl.loadClip("http://forum.imasters.com.br/random_logos/logo3.png", mc);

obj.onLoadInit = function(){
 // Aqui você faz seu resize...
}

Função de resize:

function redimensionar(alvo:MovieClip, width:Number, height:Number){
 alvo._xscale = 100;
 alvo._yscale = 100;
 if(alvo._width > alvo._height and alvo._width > width){
 alvo._xscale = ((width)*(100))/alvo._width;
 alvo._yscale = alvo._xscale;
 }
 else if(alvo._height > alvo._width and alvo._height > height){
 alvo._yscale = ((height)*(100))/alvo._height;
 alvo._xscale = alvo._yscale;
 } else {
 alvo._xscale = 100;
 alvo._yscale = 100;
 }
}

Com essa função você faz o resize com o tamanho que você quiser... basta passar os parametros que ele redimensiona a imagem.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

A dica que o Diego havia passado era válida, só precisei trocar os dynamic text por movie clips.

assim deu pra ajustar as dimensões.

 

function carregaThumbs() {
        for (var i = 1; i < totalImagens; i++) {
                 this.createEmptyMovieClip("foto"+i, i);
                 caminho = "images/large/" + String(arrProdutos[i-1]) + ".jpg";
                 this["foto"+i].loadMovie(caminho);
                 this["foto"+i]._xscale = 50;
                 this["foto"+i]._yscale = 50;
        }
}

 

É claro que o codigo do berseck ficou mais profissional e vai ajudar muito o pessoal.

 

Brigadinha Diego e Berseck!

 

PS: Berseck, não quis ser chata, desculpe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.