Ir para conteúdo

POWERED BY:

Arquivado

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

afonsilho

[Resolvido] setInterval, While ou outro?

Recommended Posts

Olá

 

To com um blema serio aqui com setInterval e while, to fritando o cerebro pra resolver isso.

 

tenho uma programação que ajusta o tamanho das coisas no meu pauco e posição, ta tudo dentro de uma função

Tem um setInterval executa esta função a cada 10 milesimos para que sempre se auto ajuste.

O problema é que o setInterval pesa o processamento do pc, o meu aqui de 14% tava indo pra 70% os por causa disso.

 

Ai lembrei do while, coloquei ele dentro da função para que tudo que ele ajusta, somente ajuste quando estiver dentro da consição.

Problema que o while ta travando o programa, trava o flash e trava o navegador se eu abrir nele, ta complicado.

 

não sei o que eu faço, alguem tem alguma ideia??

 

//COM SETINTERVAL//////////////////////////////////////////////////////////////////////

// POSIÇÃO /////////////////////////////////////////////////////////////////////////
var posicao1 = 0;
var posicao2 = 0;
var se1 = "posicao > posicao -1";

pos1 = function () {
	posicao1 = posicao2+(posicao1-posicao2)/1.09;
	if (se1 == true) {
		posicao1 = posicao2;
	}
};
//TAMANHO E POSIÇÃO DOS MC///////////////////////////////////////////////////////////
var listener:Object = new Object();

//variaveis com os tamanhos do stage///////////////////////////////////////
var tamanho_width = Stage.width;
var tamanho_height = Stage.height;

//função para redimencionar os fundos do site e posicionar os mc/////////////////////////////////////////
function stageResize() {
	//Tamanho e posiçãoe dos fundo do site///////////////////////////////////////////////////////////////////
	_root.load_fundo._xscale = tamanho_height;
	_root.load_fundo._yscale = tamanho_width;
	_root.load_fundo2._height = tamanho_height;
	_root.load_fundo2._width = tamanho_width;
	_root.load_fundo3._height = tamanho_height;
	_root.load_fundo3._width = tamanho_width;
	_root.load_fundo4._height = tamanho_height;
	_root.load_fundo4._width = tamanho_width;
	_root.load_fundo._x = Stage.width-Stage.width-posicao1;
	_root.load_fundo._y = tamanho_height-tamanho_height;
	_root.load_fundo2._x = load_fundo._x+load_fundo._width;
	_root.load_fundo2._y = tamanho_height-tamanho_height;
	_root.load_fundo3._x = load_fundo2._x+load_fundo2._width;
	_root.load_fundo3._y = tamanho_height-tamanho_height;
	_root.load_fundo4._x = load_fundo3._x+load_fundo3._width;
	_root.load_fundo4._y = tamanho_height-tamanho_height;

	//LOGO/////////////////////////////////////////////////////////////////////////////
	_root.logo_mc._x = Stage.width-Stage.width+30;
	_root.logo_mc._y = Stage.height-Stage.height;

	//LOAD PÁGINAS //////////////////////////////////////////////////////////////////
	_root.load_paginas_mc._x = load_fundo._x;
	_root.load_paginas_mc._y = load_fundo._y;
}
listener.onResize = function() {
	stageResize();
};
Stage.addListener(listener);
pos1();
stageResize();

//LOAD NAS FUNÇÕES E NOS ARQUIVOS DE FUNDO A CADA 10 MILÉSIMOS///////////////////////////////////////////
setInterval(pos1,10);
setInterval(stageResize,10);
setInterval(fun_blur,200);




//FIM//////////////////////////////////////////

 

 

 

//COM WHILE/////////////////////////////////////////////////////////////////////////////////

// POSIÇÃO /////////////////////////////////////////////////////////////////////////
var posicao1 = 0;
var posicao2 = 0;
var se1 = "posicao > posicao -1";

pos1 = function () {
	while (posicao1 != posicao2) {
		posicao1 = posicao2+(posicao1-posicao2)/1.09;
	if (se1 == true) {
		posicao1 = posicao2;
	}
	trace(posicao1);
		}
};
//TAMANHO E POSIÇÃO DOS MC///////////////////////////////////////////////////////////
var listener:Object = new Object();

//variaveis com os tamanhos do stage///////////////////////////////////////
var tamanho_width = Stage.width;
var tamanho_height = Stage.height;

//função para 
function stageResize() {
		while (posicao1 != posicao2) {
	//bg///////////////////////////////////////////////////////////////////
	_root.load_fundo._xscale = tamanho_height;
	_root.load_fundo._yscale = tamanho_width;
	_root.load_fundo2._height = tamanho_height;
	_root.load_fundo2._width = tamanho_width;
	_root.load_fundo3._height = tamanho_height;
	_root.load_fundo3._width = tamanho_width;
	_root.load_fundo4._height = tamanho_height;
	_root.load_fundo4._width = tamanho_width;
	_root.load_fundo._x = Stage.width-Stage.width-posicao1;
	_root.load_fundo._y = tamanho_height-tamanho_height;
	_root.load_fundo2._x = load_fundo._x+load_fundo._width;
	_root.load_fundo2._y = tamanho_height-tamanho_height;
	_root.load_fundo3._x = load_fundo2._x+load_fundo2._width;
	_root.load_fundo3._y = tamanho_height-tamanho_height;
	_root.load_fundo4._x = load_fundo3._x+load_fundo3._width;
	_root.load_fundo4._y = tamanho_height-tamanho_height;

	//LOGO/////////////////////////////////////////////////////////////////////////////
	_root.logo_mc._x = Stage.width-Stage.width+30;
	_root.logo_mc._y = Stage.height-Stage.height;

	//LOAD PÁGINAS //////////////////////////////////////////////////////////////////
	_root.load_paginas_mc._x = load_fundo._x;
	_root.load_paginas_mc._y = load_fundo._y;
	trace(tamanho_height);
	trace(tamanho_width);
		}
}
listener.onResize = function() {
	stageResize();
};
Stage.addListener(listener);
pos1();
stageResize();


//FIM////////////////////////////////////////////////////

no caso do while eu uso um botão no pauco com a action

on (release) {
_root.posicao2 = 300; //MUDO O VALOR DA VARIAVEL
_root.pos1(); // CHAMO A FUNÇÃO
_root.stageResize(); // CHAMO A FUNAÇÃO
}

 

 

 

o que fazer????

existe outro procedimento para que execute um bloco de instruções quando uma determinada condição seja verdadeira até que seja falsa sem pesar o processamento???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom para fazer isso tem varias funções...

 

Mas não entendi ao certo pra que você quer fazer isso...

 

se você estiver carregando seus clips por um loadMovie

 

Mude e use a classe MovieClipLoader

Ai passa a usar no onLoadInit

Que você pode setar tudo para centralizar ali de uma feita só...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

puxa, nao entendi direito o que você colocou ai mas enfim

 

o que eu preciso é que a função seja executada sempre que uma condição for verdadeira, ou o conteudo desta função, isso pra não pesar o processamento.

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.