Ir para conteúdo

POWERED BY:

Arquivado

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

Daniel o rei

Ferramenta scale só funciona com um só objeto

Recommended Posts

Tenho um circulo e algo que parece um retangulo ou quadrado.

Link:http://megaswf.com/serve/86263/

O que eu quero fazer é uma ferramenta scale. Onde se pode almentar e diminuir objetos.

Mesmo sem souber actionscript alguem pode me dar uma luz? Minha dúvida não é do as é um algoritmo.

Objsl é a caixa onde se pode almentar e diminuir o tamanho os objetos.

transfervar é uma variavel que só auxilia nos calculos.

mclist[objcolides].mc.x é a propriedade x do objeto que está sendo mudado.

É mudado um por um

objdi[objcolides]['X'] está contido o valor x inicial do objeto

sldi["X"] está contido o valor inicial do objsl.

O meu objetivo com esse script é que os objetos acompanhe as mudanças do objsl. Se o objsl almenta de tamanho os objetos que estão nele almentam.

QUANDO EU TENTO MUDAR O TAMANHO SÓ DE UM OBJETO FUNCIONA. MAS COM MAIS DE UM OBJETO NÃO FUNCIONA DIREITO

Pelo que eu observo a parte que muda o tamanho do objeto funciona. Mas a posição não.

//X

transfervar = (objsl.x + objsl.width / 2) - (sldi["X"] + sldi["W"] / 2) ;

mclist[objcolides].mc.x = objdi[objcolides]['X'] + transfervar ;

//width

transfervar = objsl.width / sldi["W"] ;

mclist[objcolides].mc.width = objdi[objcolides]['W'] * transfervar ;

 

Alguem pode me dar uma luz qualquer. Qualquer sinal de ajuda. Uma observação que pode me dar uma idéia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

			for(i =0; i <= (objcolides.length - 1); i++){
		//X
		transfervar = objdi[objcolides[i]]['X'] - sldi["X"];
		transfervar2 = objsl.width / sldi["W"] ;
		transfervar = transfervar * transfervar2 ;			
		transfervar2 = sldi["X"] - objsl.x;
		mclist[objcolides[i]].mc.x = sldi["X"] + transfervar - transfervar2 ;
		//Y
		transfervar = objdi[objcolides[i]]['Y'] - sldi["Y"];
		transfervar2 = objsl.height / sldi["H"] ;
		transfervar = transfervar * transfervar2 ;			
		transfervar2 = sldi["Y"] - objsl.y;
		mclist[objcolides[i]].mc.y = sldi["Y"] + transfervar - transfervar2 ;

		//width
		transfervar2 = mclist[objcolides[i]].mc.width;
		transfervar = objsl.width / sldi["W"] ;
		mclist[objcolides[i]].mc.width = objdi[objcolides[i]]['W'] * transfervar ;
		transfervar2 = mclist[objcolides[i]].mc.width - transfervar2 ;
		//height
		transfervar2 = mclist[objcolides[i]].mc.height;
		transfervar = objsl.height / sldi["H"] ;
		mclist[objcolides[i]].mc.height = objdi[objcolides[i]]['H'] * transfervar ;
		transfervar2 = mclist[objcolides[i]].mc.height - transfervar2 ;





		}

Funcionou!

Usei o mesmo script do width e x para o height e y

http://megaswf.com/serve/87218/

 

Ainda há alguns errinhos mas vou corrigir

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.