Ir para conteúdo

Arquivado

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

Felipe Franzes

problema q n acho solucao

Recommended Posts

esta vendo a seção de materias da imasters Imagem Postada , e acabei achando uma materia muito interessante que eu gostaria de implementar em um site que eu estou produzindo Imagem Postada , logico que muito mais diferente a ideia que eu tive e escabrosa, vai ser muito grande porem o site vai ficar muito leve (isso e o que eu espero...)

 

bom vamos la a materia que eu estava lendo era http://www.imasters.com.br/artigo.php?cn=3237&cc=229 sobre como fazer efeitos em action script usando alpha para fazer um determinado objeto aparecer e desaparecer...

 

o problema e que o tal objeto ja comeca como se ele estivesse aberto Imagem Postada e o butao de liga e desliga dele simplesmente n funciona ai vai o codigo para ver se alguem consegue me ajudar

 

http://www.ucam-campos.br/~fucam/meu/sitetop.fla

 

se alguem puder me ajudar ficarei muito agradecido... :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, o que você fez ta certo e funciona... só não sei porque, os textos não estão fazendo alpha. (tenta desenhar um quadrado dentro do MC janInf para você ver....Só tem uma coisa, o botão ta dando pau no dinamic text... coloca static text para poder clicar nele...

Compartilhar este post


Link para o post
Compartilhar em outros sites

E realmente o text tinha que ser estatico e tem ate logica... e pq eu so meiu noob ainda em actionscript e em flash Imagem Postada , bom mas agora eu tava pensando aqui comigo ja que o efeito e em alpha + e alpha -, alpha so deve servi para imagem e objetos como retangulos e etcs... eu tentei converte o texto para imagem mas tb n deu certo....

 

se alguem puder me ajudar agradeço....

 

obs: codigo .fla atualizado corrigido este bug do botao que n dava para clickar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você esta usando a font _sans, com ela o embed não funciona, troca a font, coloca por exemplo a verdana, coloca ela como dinamic, e clica em embed, seleciona o uppercase, lowercase, clica em ok, testa e vai dormir porque vai dar certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow cara fikei susegadao mesmo.... cara você resolveu meu prob... mas agora você pode me explicar o que eu fiz? o que e esse embede????pow cara valeuw mesmo agora meu site vai ficar levinho e cheio das animações.........

Compartilhar este post


Link para o post
Compartilhar em outros sites

to me descabelando agora pq como vcs vao ver no meu fla os dois botoes e textos estao iguals e o actin scrpit esta certo porem so esta funcionando 1...Alguem pode dar uma forca???http://www.ucam-campos.br/~fucam/meu/topsite.flaai vai o codigo

janInf._alpha = 0;janSet._alpha = 0;contador._alpha = 100;btnInf.onPress = function() { janInf.onEnterFrame = function() { if (janInf._alpha<100) { janInf._alpha += 10; } };};btnSet.onPress = function() { janSet.onEnterFrame = function() { janSet._alpha=100; if (janSet._alpha<100) { janSet._alpha += 10; } };};stop();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra, 2 errinhos....

 

O botão que você chama no actionscript de btnSet, tá com o nome de bntSet. (Erro comum de digitação que fica invisível ao olhar rápido pois as letras são as mesmas e temos a ilusão de que estão igualmente posicionadas.)

 

Após arrumar esse erro, quando clicar no botão setores, o nome setores aparece com alpha 100% por causa dessa linha:

 

btnSet.onPress = function() {

janSet.onEnterFrame = function() {

janSet._alpha=100;

if (janSet._alpha<100) {

janSet._alpha += 10;

}

};

};

 

Se tirar, ele vai funcionar igualzinho ao janInf.

 

Falows!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow valeuw mesmo você acho o erro o erro tava no nome do botao mesmo... agora sobre o janSet._alpha=100; eu tinha colocado mesmo e tinha esquecido eu tinha colocado para ver se o texto aparecia... valeuw mesmoagora eu pretendo fazer um switch para quando um for clicado ele apagar o que esta ativo ou sejah fazendo um for decrementando no alpha... e tb pretendo fazer o seguinte, para a pessoar eu n ter q colocar mais um botao chamado home, vou colocar cada vez que clicar o botao ser trocado pelo o do home bom acho q vai ficar legal vamos ......

Compartilhar este post


Link para o post
Compartilhar em outros sites

atualizando so que agora a funcao desativa n esta funcionando agora eu n sei pq ...alguem pode me dar uma mao??Obrigado

function destiva(){ switch (atual){ case 1: janInf._alpha =0;break; case 2: janSet._alpha =0;break; }}janInf._alpha = 0;janSet._alpha = 0;atual=0;contador._alpha = 100;btnInf.onPress = function() { desativa(); atual=1; janInf.onEnterFrame = function() { if (janInf._alpha<100) { janInf._alpha += 10; } };};btnSet.onPress = function() { desativa(); atual=2; janSet.onEnterFrame = function() { if (janSet._alpha<100) { janSet._alpha += 10; } };};stop();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra, não analisei muito detalhado pq to com pressa....Acho que o problema é que você não está enviando a variável atual para dentro da função...faz assim:function desativar(qual) {switch (qual){case 1: janInf._alpha =0;break;case 2: janSet._alpha =0;break;}}e aqui coloca assim:btnInf.onPress = function() {desativa(atual);atual=1;janInf.onEnterFrame = function() {if (janInf._alpha<100) {janInf._alpha += 10;}};};Não testei, mas acho que funciona...Depois posta se funfoFalows

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara eu tinha feito isso antes, so q n tinha dado certo, eu programo em c e imaginei que tivesse que passar parametros, ai percebi que n estava dando certo passei a testar pensando como as variaveis sendo globais...

function destiva(qual) { switch (qual) { case 1 : janInf._alpha = 0; break; case 2 : janSet._alpha = 0; break; }}janInf._alpha = 0;janSet._alpha = 0;atual = 0;contador._alpha = 100;btnInf.onPress = function() { desativa(atual); atual = 1; janInf.onEnterFrame = function() { if (janInf._alpha<100) { janInf._alpha += 10; } };};btnSet.onPress = function() { desativa(atual); atual = 2; janSet.onEnterFrame = function() { if (janSet._alpha<100) { janSet._alpha += 10; } };};stop();

isso ai n funcionou entao estamos empacados... mas valeuw tu ta me ajudando pacas...eu n to conseguindo compreender o erro e e la em cima onde você colocou qual eu tb tentei colocar atual mas tb n deu certo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

carneiro e o seguinte o flash vai comecar exibindo uma pagina inicial...dai na pagina tem 6 botoes...quand você clickar no botao 1 o testo um vai aparecer em ._alpha no codigo

btnInf.onPress = function() {janInf.onEnterFrame = function() {if (janInf._alpha<100) {janInf._alpha += 10;

bom ai que vem o lance qnd você clicar no botao dois o texto que tinha sido aberto pelo botao 1 vai se apagar e vai ser exebido o texto 2... porem como sao 6 botoes qualquer um pode estar aberto na hora entao o q eu pensei, em cada um a variavel atual recebe um valor representativo da funcao.. e antes do texto ser aberto eu jogo esse atual para uma funcao que vai desligar o texto e dentro desta funcao esta o switch que vai escolher qual o texto deve ser apagado...codigo comentadofunction destiva(){ switch (atual){ //vai escolher emcima da variavel atual e ira desligar a janela setando seu ._alpha 0 case 1: janInf._alpha =0;break; case 2: janSet._alpha =0;break; }}janInf._alpha = 0; //desligando as janelasjanSet._alpha = 0;atual=0; //dizendo que a janela atual e a principal ou seja nenhuma janela abertacontador._alpha = 100;btnInf.onPress = function() { //quando o botao Informacoes que liga a janela Informacoes for pressionado desativa(); //desativa a janela atual (se for 0 não executa nada) atual=1; //seta que a janela atual agora e 1 janInf.onEnterFrame = function() { //quando a janela entrar no frame... if (janInf._alpha<100) { //aumenta o alpha para dar efeito a janela janInf._alpha += 10; } };};btnSet.onPress = function() { desativa(); //desativa a janela atual (se for 0 não executa nada) atual=2; //seta que a janela atual agora e 2 janSet.onEnterFrame = function() { if (janSet._alpha<100) { janSet._alpha += 10; } };};stop();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Novamente 2 erros....

Um de escrita e outro de conceito:

 

O erro de escrita é que a função desativa está nomeada como "destiva".

Alterando esse erro já da para ver que alguma coisa acontece quando clicamos no outro botão, com uma tela já aberta.

 

Se você fizer esse teste, vai ver que quando clicamos em um outro botão, a primeira tela some e rapidamente reaparece.... isso acontece pelo erro de conceito... quando você atribui uma ação "onEnterFrame", essa ação fica sendo executada eternamente... se colocarmos o alpha para zero, como é o caso, a função onEnterFrame vai testar o alpha e incrementá-lo novamente até chegar a 100%.

A solução para isso é sobreescrever a ação onEnterFrame com outra coisa.

 

Segue abaixo um exemplo que você pode aproveitar, se desejar...

 

Ele não só sobreescreve o "onEnterFrame" como faz com que o texto suma com alpha out....

 

function desativa(){	switch (atual){		case 1: 		janInf.onEnterFrame = function() { 			if (janInf._alpha>0) { 				janInf._alpha -= 10;			};		};				break;		case 2: 		janSet.onEnterFrame = function() { 			if (janSet._alpha>0) { 				janSet._alpha -= 10;			};		};		break;	}}

Dá pra melhorar um pouco essa função e colocar dessa forma:

 

function desativa(){	switch (atual){		case 1: 		frame=janInf;				break;		case 2: 		frame = janSet;		break;	}	eval(frame).onEnterFrame = function() { 			if (this._alpha>0) {				this._alpha -= 10;			};		};}

Falows

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.