Ir para conteúdo

POWERED BY:

Arquivado

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

Freelife

[Resolvido] Alguém consegue descobrir o erro?

Recommended Posts

Esse é um for para criar um tabela de mc's usando o attachMovie, porém quando ele passa de 10 mc's sempre que pula uma linha um dos mc's não aparece. Será que alguém consegue descobrir o erro???

 

código:

 

var linha:Number = 0;
var coluna:Number = 0;

//Aqui eu coloquei 11 de úmero total só para vcs testarem, quando colocarem um número maior tipo 30, vão ver a diferença.
var total:Number = 11;
var j;

for( j=0; j<=total; j++){
			
			trace(coluna +" Coluna");
			
			if(coluna <= 4){
			var teste:MovieClip = this.createEmptyMovieClip("my"+ j +"_mc", j);
			teste.attachMovie("LinkagedoMCnaBiblioteca", fundo, j,   {_x:(coluna * 100), _y:(linha * 70)});
			coluna++;
			}
			else{
				linha++;
				coluna=0;
			}
			teste.onPress = function(){
				this.startDrag();
			}
			teste.onRelease = function(){
				this.stopDrag();
			}
}

Abraços e espero que alguém consiga ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Freelife beleza?

Voce não pode disponibilizar o arquivo fonte pra gente poder te ajudar?

 

flw....

 

Esse é um for para criar um tabela de mc's usando o attachMovie, porém quando ele passa de 10 mc's sempre que pula uma linha um dos mc's não aparece. Será que alguém consegue descobrir o erro???

 

código:

 

var linha:Number = 0;
var coluna:Number = 0;

//Aqui eu coloquei 11 de úmero total só para vcs testarem, quando colocarem um número maior tipo 30, vão ver a diferença.
var total:Number = 11;
var j;

for( j=0; j<=total; j++){
			
			trace(coluna +" Coluna");
			
			if(coluna <= 4){
			var teste:MovieClip = this.createEmptyMovieClip("my"+ j +"_mc", j);
			teste.attachMovie("LinkagedoMCnaBiblioteca", fundo, j,   {_x:(coluna * 100), _y:(linha * 70)});
			coluna++;
			}
			else{
				linha++;
				coluna=0;
			}
			teste.onPress = function(){
				this.startDrag();
			}
			teste.onRelease = function(){
				this.stopDrag();
			}
}

Abraços e espero que alguém consiga ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Freelife, beleza?

 

você pode disponibilizar pra gente o arquivo fonte para que possamos te ajudar?

 

aguardo.....

qlqr coisa MSN: contato@flashdeveloper.com.br

 

Esse é um for para criar um tabela de mc's usando o attachMovie, porém quando ele passa de 10 mc's sempre que pula uma linha um dos mc's não aparece. Será que alguém consegue descobrir o erro???

 

código:

 

var linha:Number = 0;
var coluna:Number = 0;

//Aqui eu coloquei 11 de úmero total só para vcs testarem, quando colocarem um número maior tipo 30, vão ver a diferença.
var total:Number = 11;
var j;

for( j=0; j<=total; j++){
			
			trace(coluna +" Coluna");
			
			if(coluna <= 4){
			var teste:MovieClip = this.createEmptyMovieClip("my"+ j +"_mc", j);
			teste.attachMovie("LinkagedoMCnaBiblioteca", fundo, j,   {_x:(coluna * 100), _y:(linha * 70)});
			coluna++;
			}
			else{
				linha++;
				coluna=0;
			}
			teste.onPress = function(){
				this.startDrag();
			}
			teste.onRelease = function(){
				this.stopDrag();
			}
}

Abraços e espero que alguém consiga ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza!

 

Então... por enquanto não consigo disponibilizar pq não estou em casa.

 

Mas na verdade o arquivo não tem nada praticamente, eu só criei um mc com shift+F8 e coloquei o nome dele de "LinkagedoMCnaBiblioteca" sem aspas e cliquei em "export for action Script", daí ele puxa o mc da biblioteca.

 

foi só um arquivo de teste mesmo, é bem simples.

 

Mas de qualquer maneira hoje a noite eu disponibilizo.

 

Abraços e vlw por enquanto.

 

Obs.: O código AS vai direto no 1º frame.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo, o problema está no seu "if" (condição)...

Repare que a cada verificação se coluna é menor ou igual a 4 ele attacha seu mc e acrescenta mais um na coluna, mas quando coluna for maior que 4, a condição vai para o "else" (outra) que apenas acrescenta mais uma linha e zera a coluna, mas neste processo (if / else), já foi feito um loop (pois a condição está dentro do for), por esta razão é que haverá sempre um mc a menos para cada cada linha criada.

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Será que não fui claro na explicação??

 

Quando a condição entra no "else", não ataccha nada e acresenta +1, pois repetiu o laço (for) e pulou o "mc da vez"...

Para não "pular este mc", basta substrair 1 da variável "j" quando entrar no "else" para que este mc entre no próximo laço. Simples assim!

 

Outra coisa, no seu exemplo, sugiro setar as variáveis de "0" para "1".

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw pela resposta...

 

não é que você não foi claro, é que eu sou bem novo nisso, principalmente em programação.

Não sei nada de programação, o que tenho feito é ler e estudar, eu tentei várias vezes resolver esse problema, mas não sabia onde é que estava o problema, e como não tenho o flash aqui nem passou pela cabeça essa condição do "else".

 

Então sobre as variáveis, pq setar elas como 1?

 

Mas valeu... Vou estudar mais...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tranquilo Freelife, e desculpe se não me expressei muito bem!

 

Veja como ficaria ficaria o código:

var linha:Number = 1;
var coluna:Number = 1;
var qCol:Number = 4; //Setando a quantidade de colunas
var total:Number = 18; //Setando a quantidade de registros
var j:Number = 1;

for(j = 1; j <= total; j++){
	trace(coluna +" Coluna");
	if(coluna <= qCol){
		var teste:MovieClip = this.createEmptyMovieClip("my"+ j +"_mc", j);
		teste._x = -100, teste._y = -70;
		teste.attachMovie("LinkagedoMCnaBiblioteca", fundo, j,   {_x:(coluna * 100), _y:(linha * 70)});
		coluna++;
	}else{
		linha++;
		coluna = 1;
		j--;
	};
	teste.onPress = function(){
		this.startDrag();
	}
	teste.onRelease = function(){
		this.stopDrag();
	}
};

 

A sugestão de utilizar "1" nas variáveis iniciais não é obrigatória, seria apenas para facilitar o entendimento.

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif Abs.

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.