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

cara nem sabia disso esse on enter frame trava tudocara tu me ajudou pacas era exatamente o q eu queria fazer valeuw mesmo!!! agora meu site vai ficar dez!!! :joia: :joia: :joia: :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora eu cheguei a um outro problema veja so...ao invez de eu colocar um botao unico la em cima de retorno para o "HOME"...eu gostaria de fazer o seguinte...digamos assim no meu site tem varios botoes como vcs ja viram... entao eu gostaria que qnd a pessoa clica-se em Informações o botao Informações sumi-se e vira-se HOME e quando fosse clicado em home o botao home vira-se novamente em informações, bom se eu for fazer em fad-in fad-out como eu fiz com os menus acima eu acho q vai dar muito trabalho...teria como eu fazer isso de outra maneira, sei la alguma opcao algum comando em on press ou somente via fade in fade out???confesso que nem cheguei a tentar fazer, mas acho q vou conseguir via alpha in alpha out, mas gostaria de saber se existe outra maneira...bom galera como deu para perceber sou muito novato nessa linguagem, mas agradeço a todos vcs que me ajudaram agora eu ja estou sabendo muito sobre flahs e action script... VALEUW!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá pra fazer um esquema....

Você cria um botão HOME e coloca o nome dele de botHome.

No primeiro frame depois de carregado, você coloca botHome._visible = 0;

 

Isso faz com que o botão fique invisível e não clicável.

 

Ai, quando você clicar em um botão qualquer, coloca dentro da função onRelease o código:

 

exemplo:

 

btn.janInf.onRelease = function () {var posix = this._x; //pega a posição x do botão janInfvar posiy = this._y; //pega a posição y do botão janInf_root.botHome._visible = 1; // torna o botão home visível;_root.botHome._x = posix; //coloca a posição do botão home X no lugar que tava o outro_root.botHome._y = posiy; //Idem posição Yvar _root.botHome.voltar_botao = this._name; // pega o nome do botão que vai sumir para depois poder voltat e joga dentro do botão Homethis._visible = 0; // faz o botão clicado sumir}

ai, para o botão home, você coloca um código parecido:

 

btn.janInf.onRelease = function () {var posix = this._x; //pega a posição x do botão homevar posiy = this._y; //pega a posição y do botão home_root.eval(voltar_botao)._visible = 1; // torna o botão que tinha sumido visível. Note que eu chamo a variável sem colocar o _root pois a variavel foi colocada dentro do botão no código anterior;_root.eval(voltar_botao)._x = posix; //coloca a posição do botão  X no lugar que tava o home_root.eval(voltar_botao)._y = posiy; //Idem posição Ythis._visible = 0; // faz o home sumir }

Não testei, inventei agora, mas acho que dá certo seguindo esse caminho....

Deve existir outros métodos, talvez até melhores, mas esse foi o que pensei agora e não to com muito tempo para aprimorar muito...

 

Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara eu fiz assim o mas n deu certo n...

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; } }}btnHom._visible = 0;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; } } var posix = this._x; var posiy = this._y; _root.btnHom._visible = 1; _root.btnHom._x = posix; _root.btnHom._y = posiy; var _root.btnHom.voltar_botao = this._name; this._visible = 0; }btnSet.onPress = function() { desativa(); atual = 2; janSet.onEnterFrame = function() { if (janSet._alpha<100) { janSet._alpha += 10; } }}btnHom.onPress = function(){ desativa(); atual = 0; var posix = this._x; var posiy = this._y; _root.eval(voltar_botao)._visible = 1; _root.eval(voltar_botao)._x = posix; _root.eval(voltar_botao)._y = posiy; this._visible = 0; }stop();

e esta dando o seguinte output

**Error** Scene=Scene 1, layer=Site, frame=2:Line 34: Syntax error. var _root.btnHom.voltar_botao = this._name; **Error** Scene=Scene 1, layer=Site, frame=2:Line 36: Unexpected '}' encountered }

Compartilhar este post


Link para o post
Compartilhar em outros sites

tira o var dessa linha:var _root.btnHom.voltar_botao = this._name; se possível, posta seu fla pra eu dar uma olhada...To achando que eu escrevi um treco que talvez não funcione...Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim tirando o var quase funcionou... :clap:

 

se você perceber ele funcionou porem ocorre alguns bugs esperimenta ficar clicando entre informacoes e setores...

 

:cry:

 

mas cara tu ta me ajudando pacas mesmo... eu to olhando o codigo aki o erro e coisa boba pode ter certeza mas como eu n manjo muito to olhando aki!!! valeuw mesmo tu ta me ajudando pacas ai vai o codigo... :joia:

 

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

 

ja achei ate o erro o erro ta acontecendo qnd clica no botao home denovis ou seja para o antigo botao voltar para o lugar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa isso aqui:

 

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;		}	}}btnHom._visible = 0;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;		}	}	var posix = this._x; 	var posiy = this._y; 	_root.btnHom._visible = 1; 	_root.btnHom._x = posix; 	_root.btnHom._y = posiy; 	_root.voltar_botao = this; 	this._visible = 0; }btnSet.onPress = function() {	desativa();	atual = 2;	janSet.onEnterFrame = function() {		if (janSet._alpha<100) {			janSet._alpha += 10;		}	}}btnHom.onPress = function(){	desativa();	atual = 0;	var posix = this._x; 	var posiy = this._y; 	voltar_botao._visible = 1; 	voltar_botao._x = posix; 	voltar_botao._y = posiy; 	this._visible = 0; }stop();

dei uma alterada na função do botão home e na função do primeiro botão.

 

Troquei o this._name só por this. Dessa forma a variavel volta_botão é o próprio botão e não o nome, como eu tinha feito antes. Dessa forma é bem melhor.

 

E como a variável volta_botão é o próprio botão, é só chamá-la e atribuir as características. (visible, _x, _y etc.)

 

Dá uma olhada e vê se manjou os esquemas...

 

Falows.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom vamos la...

tenho algumas duvidas...

 

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;		}	}}btnHom._visible = 0;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;		}	}	var posix = this._x; 	var posiy = this._y; 	_root.btnHom._visible = 1; 	_root.btnHom._x = posix; 	_root.btnHom._y = posiy; 	_root.voltar_botao = this; 	this._visible = 0; }btnSet.onPress = function() {	desativa();	atual = 2;	janSet.onEnterFrame = function() {		if (janSet._alpha<100) {			janSet._alpha += 10;		}	}}btnHom.onPress = function(){	desativa();	atual = 0;	var posix = this._x; 	var posiy = this._y; 	voltar_botao._visible = 1; 	voltar_botao._x = posix; 	voltar_botao._y = posiy; 	this._visible = 0; }stop();
certo entao o q eu fiz foi criar uma funcao contendo
function guardaposi(){var posix = this._x; 	var posiy = this._y; 	_root.btnHom._visible = 1; 	_root.btnHom._x = posix; 	_root.btnHom._y = posiy; 	_root.voltar_botao = this; 	this._visible = 0; }
e a coloquei dentro de cada botao mas cara ai deu maior problema a parada tava apagando todos os botoes ai n deu certo, bom eu n sei direito como e o orientado a objeto do flash por isso q eu to postando aki para ver se aprendo e outra esse codigo so funcionou para um botao acho q para funcionar para todos os botoes eu vou cria uma variavel "voltar_botao1" e assim por diante?

bom vou confesar que adorei esse efeito porem vai ter alguns botoes que não sera possivel usar pois precisarei de dentro dos botoes uma outra janela para escolherem outra pagina....

 

devo usar essa funcao em localizacao corpo docente download ouvidoria...

 

valeuw pela ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro na sua função guardaposi é o fato de você estar usando this.

Quando usamos this, devemos ter muito cuidado e sempre perguntarmos: "quem é this". (Com quem quero a ação).

Com essa pergunta, consguimos decifrar alguns erros, por exemplo:

Essa função está no frame 2 do palco principal. Quando eu uso o this, quero que a ação seja com o botão e não o palco principal. Mas ao perguntar "quem é this", respondemos que é o botão. Ao olhar, não tem referência nenhuma no código que dê a entender que este this é o botão. Olhando bem, o this é o palco principal.

 

Para corrigir, devemos mostrar ao flash que a função guardaposi deve pegar a posição dos botões. Para isso, utilize a função dessa forma:

 

function guardaposi(botao){	var posix = botao._x; 	var posiy = botao._y; 	_root.btnHom._visible = 1; 	_root.btnHom._x = posix; 	_root.btnHom._y = posiy; 	_root.voltar_botao = botao; 	botao._visible = 0; }

e para chamar essa função guardaposi podemos fazer assim:

 

btnInf.onPress = function() {	desativa();	atual = 1;	janInf.onEnterFrame = function() {		if (janInf._alpha<100) {			janInf._alpha += 10;		}	}	guardaposi(this); //Note que o this nesse caso é o próprio botão btnInf pois a função está setada para ele.	var posix = this._x; 	var posiy = this._y; 	_root.btnHom._visible = 1; 	_root.btnHom._x = posix; 	_root.btnHom._y = posiy; 	_root.voltar_botao = this; 	this._visible = 0; }

acho que isso deve funcionar. Não testei e dei uma olhada rapida... to com uns problemas aqui e ta complicado de ficar vindo no forum.

 

Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro na sua função guardaposi é o fato de você estar usando this.

Realmente cara era esse meu erro eu nem sabia o que era o this para te falar mas agora eu entendi perfeitamente graças a sua explicação bixu tu não tem noção de como me ajudou agora o site esta funcionando perfeitamente...so ta com um probleminha muito pequeno e nada de mais o botao home não esta indo para a posicao do botao antigo que se apaga, se puder me ajudar... mas ai vai o codigo agora funcionando quase perfeitamente...
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;		}	}}function guardaposi(botao){	outro +=1;	var posix = botao.x;	var posiy = botao.y;	_root.btnHom._x = posix;	_root.btnHom._y = posiy;	_root.btnHom._visible = 1;	_root.voltar_botao = botao;	botao._visible = 0;}function testeoutro(){	if (outro == 1) {		_root.voltar_botao._visible = 1;		outro = 0;	}}btnHom._visible = 0;janInf._alpha = 0;janSet._alpha = 0;atual = 0;outro = 0;contador._alpha = 100;btnInf.onPress = function() {	testeoutro();	desativa();	atual = 1;	janInf.onEnterFrame = function() {		if (janInf._alpha<100) {			janInf._alpha += 10;		}	}	guardaposi(this); }btnSet.onPress = function() {	testeoutro();	desativa();	atual = 2;	janSet.onEnterFrame = function() {		if (janSet._alpha<100) {			janSet._alpha += 10;		}	}	guardaposi(this);}btnHom.onPress = function(){	desativa();	outro = 0;	atual = 0;	_root.btnHom._visible =0;	_root.voltar_botao._visible = 1;}stop();
para você ver como eu aprendi q eu ate consegui corrigir um erro q estava dando qnd eu clicava em um bota e depois clicava em outro sem clicar no home, ai o botao sumia, foi bem simples foi so adicinar mais uma variavel de teste (outro) e a funcao (testeoutro()) ficou show de bola, eu so gotaria que agora o botao home fosse para posicao do antigo botao, o codigo ate esta me parecendo correto mas n estou conseguindo achar o erro... valeuw mesmo bom o .fla esta no mesmo link de antigamente...http://www.ucam-campos.br/~fucam/meu/sitetop.flahttp://www.ucam-campos.br/~fucam/meu/sitetop.swf

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem um errinho minúsculo na função guardaposi();

 

no lugar de var posix = botao.x; tem que colocar var posix = botao._x;

o mesmo para o posiy.

 

Segue a função arrumada:

 

function guardaposi(botao){	outro +=1;	var posix = botao._x;	var posiy = botao._y;	_root.btnHom._x = posix;	_root.btnHom._y = posiy;	_root.btnHom._visible = 1;	_root.voltar_botao = botao;	botao._visible = 0;}
Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem um errinho minúsculo na função guardaposi();

 

no lugar de var posix = botao.x; tem que colocar var posix = botao._x;

o mesmo para o posiy.

 

Segue a função arrumada:

 

function guardaposi(botao){	outro +=1;	var posix = botao._x;	var posiy = botao._y;	_root.btnHom._x = posix;	_root.btnHom._y = posiy;	_root.btnHom._visible = 1;	_root.voltar_botao = botao;	botao._visible = 0;}
Falows
e mano realmente, seguinte e q como eu falei eu nunca tinha mexido com flash eu realmente n costumu cometer esse erro sabe... pelo menos na linguagem em C, mas pow valeuw mesmo me ajudou muito....

 

Agora eu gostaria que voce me ensinase uma coisa... vamos la e pq no desenvolver deste meu projeto eu descubri que tera um botao ai que n sera suficiente apenas uma janela para ele pois ele ira abrir varias janelas, entao eu gostaria de saber como eu faco para abrir um SWF dentro de outro ou seja criar uma janela q chamara um SWF de fora...

2º esse SWF eu tenho q colocar qual caminho para ele eu posso colocar qualquer caminho q eu escolha ou ele tem q estar dentro da mesma pagina do sitetop.swf ?

3º e quando eu chamo um SWF dentro de outro e possivel eu colocar para essa janela esse esquema de ALPHA que eu estou fazendo para todos esses outras janelas???

 

se puder colar codigos ficarei grato...

Obrigado mais uma vez amigo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver se entendi....Você quer que, ao clicar em um dos botões, carregue um swf de fora... e nesse swf de fora carregar outros.. é isso?Não entendi muito bem....Agora, a respeito do caminho, você pode colocar qualquer um desde que seja no mesmo domínio, ou seja:se seu domínio é www.alguma_coisa.com.br, só é possível carregar swf que esteja no mesmo www.alguma_coisa.com.br. Locais como por exemplo www.alguma_coisa.com.br/pasta1/pasta2/pasta3/xxx.swf podem ser carregados...Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver se entendi....Você quer que, ao clicar em um dos botões, carregue um swf de fora... e nesse swf de fora carregar outros.. é isso?Não entendi muito bem....Agora, a respeito do caminho, você pode colocar qualquer um desde que seja no mesmo domínio, ou seja:se seu domínio é www.alguma_coisa.com.br, só é possível carregar swf que esteja no mesmo www.alguma_coisa.com.br. Locais como por exemplo www.alguma_coisa.com.br/pasta1/pasta2/pasta3/xxx.swf podem ser carregados...Falows

ok isso eu entendi obrigadoagora eu quero aprender como eu devo fazer para dentro desta pagina minha quando eu clicar em algum botao ao inves de aparecer um texto como eu aprendi ai, fazer aparecer um moveclip q dentro dele abra um SWF q estara na mesma pasta...tava procurando acabei achando este codigo mas não deu certo... como eu posso fazer isso?ai vai o codigo
btnTes.onPress = function(){	this.createEmptyMovieClip("imagemmc", 1);	loadMovie("ts3.swf", imagemmc);}

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui fazer desta forma não sei nem se ta certo sei q carregou...

btn.Tes.onPress = function(){_root.createEmptyMovieClip["news",root.getNextHighestDepth());_root["news"]._x = 240;_root["news"]._y = 47;_root["news"].loadMovie("inf.swf");}

bom isso ai deste jeito funcionou mas e agora eu to querendo fazer com akele mesmo efeito que estou fazendo com todos os outros colocando ._alpha mas ai eu n to conseguindo como eu posso fazer para isso funcionar??

 

e se do jeito q eu to criando for o jeito mais complicado alguem me ensina a criar de uma maneira mais facil entao!!!

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O jeito que você fez está certo...Mas antes de se preocupar com o efeito alpha, é preciso criar um preloader para esse swf.Procura aqui no forum que tem uma renca já postado.Não dá pra eu escrever um aqui agora... to apertado aqui no trampo.Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja tinha feito o preloader ja ludoman

 

tu ta me ajudando pacas, qnd tu desocupar tu me responde não tem prob não eu to aki tentano fucando a cara bom vou te mandar ai os link do o q eu ja fiz...

 

http://www.ucam-campos.br/~fucam/meu/sitetop.swf (isso ai ja e tudo funcionando o q eu consegui fazer)

http://www.ucam-campos.br/~fucam/meu/sitetop.fla (o codigo do de cima)

http://www.ucam-campos.br/~fucam/meu/inf.swf (da segunda pagina q ta abrindo)

http://www.ucam-campos.br/~fucam/meu/inf.fla (codigo da de cima)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei usar o onEnterFrame, como nos outros botões, mas não funcionou.. Não consegui ver qual era o problema também porque ta corrido aqui.

 

Usei o setInterval() dá uma olhada e vê se você entendeu.

 

btnTes.onPress = function() {	_root.createEmptyMovieClip("news", _root.getNextHighestDepth());	_root.news._alpha = 0;	_root["news"]._x = 240;	_root["news"]._y = 47;	_root["news"].loadMovie("inf.swf");	interv = setInterval(alpha, 50);};function alpha() {	if (_root.news._alpha<100) {		_root.news._alpha += 10;	} else {		clearInterval(interv);	}}

O arquivo inf.swf vai aparecer com alpha in na tela do preload.

O único problema e que terá que ser alterado é que a font _sans que você usou para fazer o texto dos botões e do preload, não aceita alpha (não sei porque). Troca para arial e você vai ver que funciona.

 

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.