Ir para conteúdo

Arquivado

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

RiCartman

[Resolvido] Como criar links em botões no Flash CS3?

Recommended Posts

Olá pessoal, tenho dois probleminhas e preciso muito de ajuda.

 

O primeiro problema: Trabalhava com o Flash na versão 2002 ou 2004, não me lembro bem, logo, o Flash CS3 é totalmente grego pra mim. Preciso criar um menu simples, com botões linkados a URLs. Consegui criar os botões exatamente como fazia antigamente, mas não consegui criar a action nem o link.

 

O segundo problema: Não encontrei sequer um tutorial ou passo-a-passo capaz de explicar didaticamente este procedimento no Flash CS3. Todas as buscas que fiz retornaram referências extremamente complicadas pra quem passou cinco anos de molho.

 

Eu não preciso nem quero estudar 20 páginas de action script 3.0, eu só preciso fazer com que o botão "pagina inicial" redirecione o brower para o "index.htm" na mesma janela atual. Coisa simples, clicou, mudou de pagina. Acho que isso deve ser muito, muito fácil...

 

Alguém pode ajudar?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

RiCartman, o Flash CS3 também te dá a opção de continuar trabalhando com Action Script 2.0.

 

Quanto a sua dúvida, para linkar botões o código é esse:

 

Escolha um botão, aperte F9 e digite:

on (press) {
loadMovieNum("index.swf", 0);
}

Para páginas internas e:

on (press) {
GetURL("endereço.html");
}
Para páginas externas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Eduardo,

 

Obrigado pela atenção, foi a primeira resposta compreensível até o momento! Infelizmente não deu certo...

 

Seleciono o botão, e quando pressiono F9 a guia Actions aparece, só que com a mensagem "Current selection cannot have actions applied to it." Também não é possível colar o código que você sugeriu... E agora? :(

 

Obrigado novamente!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, tenho dois probleminhas e preciso muito de ajuda.

 

O primeiro problema: Trabalhava com o Flash na versão 2002 ou 2004, não me lembro bem, logo, o Flash CS3 é totalmente grego pra mim. Preciso criar um menu simples, com botões linkados a URLs. Consegui criar os botões exatamente como fazia antigamente, mas não consegui criar a action nem o link.

 

O segundo problema: Não encontrei sequer um tutorial ou passo-a-passo capaz de explicar didaticamente este procedimento no Flash CS3. Todas as buscas que fiz retornaram referências extremamente complicadas pra quem passou cinco anos de molho.

 

Eu não preciso nem quero estudar 20 páginas de action script 3.0, eu só preciso fazer com que o botão "pagina inicial" redirecione o brower para o "index.htm" na mesma janela atual. Coisa simples, clicou, mudou de pagina. Acho que isso deve ser muito, muito fácil...

 

Alguém pode ajudar?

 

Obrigado!

 

Porque nao estudar 20 paginas de actionscript? Você não estaria perdendo nada.pelo contrário estaria aprendendo...

É como o Tsoares falou ai acima voce tem que utilizar navigatetoURL assim:

 

function gotoImasters(event:MouseEvent):void
{
	var ImastersURL:URLRequest = new URLRequest("http://forum.imasters.com.br");
	navigateToURL(ImastersURL);
}

bt1.addEventListener(MouseEvent.CLICK, gotoImasters);

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Kisuke:

 

Agradeço a ajuda, mas eu não sou desenvolvedor nem webdesigner, nem atuo com nenhum tipo de atividade relacionada há mais de cinco anos. É por isso que eu não quero estudar actionscript. Não preciso, não tenho tempo pra isso, e sim, embora eu pudesse aprender algo muito interessante, eu esqueceria em menos de 6 meses pois não teria nenhuma aplicação prática pra mim. Só preciso encher a bola, não preciso saber como a bombinha funciona...

 

Eu estou tentando criar um botão com um link simples, nada mais... E o código que você me passou seria muito útil se eu soubesse como usá-lo, mas o botão não permite que eu aplique uma action, como descrevi logo acima. Eu preciso de uma explicação didática como a que o Eduardo mandou, mas que infelizmente não funcionou... Eu não sei se não estou me expressando bem ou se não consigo entender porque o nível está muito alto. Vou tentar me fazer entender:

 

Quando seleciono meu botão, na guia actions aparece "Current selection cannot have actions applied to it." O que eu faço com o código quando isto acontece?

 

:s

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Kisuke:

 

Agradeço a ajuda, mas eu não sou desenvolvedor nem webdesigner, nem atuo com nenhum tipo de atividade relacionada há mais de cinco anos. É por isso que eu não quero estudar actionscript. Não preciso, não tenho tempo pra isso, e sim, embora eu pudesse aprender algo muito interessante, eu esqueceria em menos de 6 meses pois não teria nenhuma aplicação prática pra mim. Só preciso encher a bola, não preciso saber como a bombinha funciona...

 

Eu estou tentando criar um botão com um link simples, nada mais... E o código que você me passou seria muito útil se eu soubesse como usá-lo, mas o botão não permite que eu aplique uma action, como descrevi logo acima. Eu preciso de uma explicação didática como a que o Eduardo mandou, mas que infelizmente não funcionou... Eu não sei se não estou me expressando bem ou se não consigo entender porque o nível está muito alto. Vou tentar me fazer entender:

 

Quando seleciono meu botão, na guia actions aparece "Current selection cannot have actions applied to it." O que eu faço com o código quando isto acontece?

 

:s

 

Obrigado!

1-Crie um movieclip e coloque no palco e de o nome de instancia a ele de bt1.

2- Depois disso cole o codigo que te passei no outro post no frame 1 da timeline.

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, acho que agora vai dar certo!!! :)

 

Mas apareceu um novo problema... Se eu precisar de mais botões, como fica o código? Preciso separar o código de cada botão em uma layer diferente? Tentei colocar todos os códigos dos botões em sequência e deu um monte de erros. Mesmo separando em outra layer o erro mais comum é "1120: Access of undefined property botao2." Estou usando este código:

 

CODE
function abreeventos( e:MouseEvent )

{

navigateToURL( new URLRequest('eventos.html') );

}

 

botao2.addEventListener ( MouseEvent.CLICK, abreeventos);

 

Eu precisei colocar um stop(); no último frame pra animação dos botões não ficar repetindo, e colocando ele em outra layer ele funcionou bem com o código do primeiro botão, mas o código do segundo botão não tem acordo.

 

E agora??? :S

 

Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Ricartman, não sei se já solucionou seu problema, mas estava lendo os posts e vi que por alguma razão o Flash ñ estava lhe possibilitando colocar ações nos botões. Então você pode colocar essas ações em um frame.

 

Dê um nome de instância a seus botões.

Depois crie um layer de ações, selecione o primeiro frame e tecle F9, e coloque o código:

 

botão1.onPress = function(){

loadMovieNum("index.swf", 0);

}

 

Para páginas internas e:

 

botão1.onPress = function(){

GetURL("endereço.html");

}

 

Para páginas externas

 

Lembrando que "botão 1" é onde deve ficar nome de instância dos botões

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, acho que agora vai dar certo!!! :)

 

Mas apareceu um novo problema... Se eu precisar de mais botões, como fica o código? Preciso separar o código de cada botão em uma layer diferente? Tentei colocar todos os códigos dos botões em sequência e deu um monte de erros. Mesmo separando em outra layer o erro mais comum é "1120: Access of undefined property botao2." Estou usando este código:

 

CODE
function abreeventos( e:MouseEvent )

{

navigateToURL( new URLRequest('eventos.html') );

}

 

botao2.addEventListener ( MouseEvent.CLICK, abreeventos);

Eu precisei colocar um stop(); no último frame pra animação dos botões não ficar repetindo, e colocando ele em outra layer ele funcionou bem com o código do primeiro botão, mas o código do segundo botão não tem acordo.

 

E agora??? :S

 

Obrigado!!!

Se é o que eu entendi é o seguinte:

 

Voce vai colocar todo o código no 1º frame:

function abreeventos( e:MouseEvent ){	
navigateToURL( new URLRequest('eventos.html') );
botao2.addEventListener ( MouseEvent.CLICK, abreeventos);// botao 2
botao3.addEventListener ( MouseEvent.CLICK, abreeventos);//botao 3
botao4.addEventListener ( MouseEvent.CLICK, abreeventos);//botao4
}

No exemplo acima ele ta direcionando todos os botao para abrir eventos.html, no caso de querer que abram outras paginas é so fazer outra funcao como a acima, e mudar o segundo parametro do ouvinte.

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Eduardo,

 

Ainda estou com dificuldades. O último código que você sugeriu resultou no erro "1119: Access of possibly undefined property onPress through a reference with static type flash.display:SimpleButton." Usando o passo-a-passo que o Hufersil indicou acima, eu consegui com sucesso criar um botão. O código é este:

 

function abreinicial( e:MouseEvent )

{

navigateToURL( new URLRequest('index.html') );

}

 

inicial.addEventListener ( MouseEvent.CLICK, abreinicial);

 

A partir daí, o problema é que não consigo criar outros botões no mesmo stage. Pra parar a timeline por exemplo, eu precisei colocar um stop(); em outra layer, diferente da que tem o codigo do botão, mas criando outra layer para o código do segundo botão o erro persistiu. Já encontrei o código, já sei como usá-lo para um único botão. E agora, como faço para dois ou mais botões?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Eduardo,

 

Ainda estou com dificuldades. O último código que você sugeriu resultou no erro "1119: Access of possibly undefined property onPress through a reference with static type flash.display:SimpleButton." Usando o passo-a-passo que o Hufersil indicou acima, eu consegui com sucesso criar um botão. O código é este:

 

function abreinicial( e:MouseEvent )

{

navigateToURL( new URLRequest('index.html') );

}

 

inicial.addEventListener ( MouseEvent.CLICK, abreinicial);

 

A partir daí, o problema é que não consigo criar outros botões no mesmo stage. Pra parar a timeline por exemplo, eu precisei colocar um stop(); em outra layer, diferente da que tem o codigo do botão, mas criando outra layer para o código do segundo botão o erro persistiu. Já encontrei o código, já sei como usá-lo para um único botão. E agora, como faço para dois ou mais botões?

 

Obrigado!

Sua duvida ta respondida no meu ultimo post.

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos fazer o seguinte, não se apegue a detalhes:

 

botao1.addEventListener(MouseEvent.CLICK,function($evento:MouseEvent):void{
	navigateToURL(new URLRequest('eventos.html'));
});

botao2.addEventListener(MouseEvent.CLICK,function($evento:MouseEvent):void{
	navigateToURL(new URLRequest('home.html'));
});

botao3.addEventListener(MouseEvent.CLICK,function($evento:MouseEvent):void{
	navigateToURL(new URLRequest('links.html'));
});

Use esse código, mude o nome do botão e diga a página que quer abrir, faça de conta que o onRelease ficou só um pouco diferente ;) :D

 

// Flash 8
botao.onRelease = function(){
	getURL('links.html')
}
// Flash CS3
botao.addEventListener(MouseEvent.CLICK,function($evento:MouseEvent):void{
	navigateToURL(new URLRequest('links.html'));
});

A mesma coisa só que com mais letras.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Complemento:

 

// Declaramos seus tipos para acessar direto no botão depois.
var solicitar:URLRequest;
var complemento:URLVariables;

// Colocamos a ação no botão.
botao.addEventListener(MouseEvent.CLICK,function($evento:MouseEvent):void{
	// Com este objeto você diz quanis variáveis que mandar pelo endereço.
	complemento = new URLVariables();
	// Vai colocando o nome da variável e seu valor, quantos você quiser
	complemento.nome = "Renato";
	complemento.sobrenome = "Pacheco";
	// Aqui vamos juntar todas as informações que serão enviadas
	solicitar = new URLRequest();
	// Aqui colocamos as variáveis que vamos mandar junto ao endereço
	solicitar.data = complemento;
	// Aqui dizemos o endereço
	solicitar.url = "http://www.uol.com.br";
	// Aqui dizemos o método
	solicitar.method = URLRequestMethod.GET;
	// E finalmente mandamos os dados informando a janela.
	navigateToURL(solicitar,"_blank");
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal!

 

Finalmente consegui o que queria. Depois de incomodar muito (que o diga o Eduardo, que me deu a maior força em off), e não chegar a lugar algum, apelei pro Flash CS3 for Dummies. Começando do zero, fazendo o passo a passo eu consegui fazer os links funcionarem.

 

Detalhe: O livro menciona que no Flash CS3 as coisas ficaram bem mais complicadas (me senti um pouco menos dummy, hehe).

 

Minha dúvida agora é outra, mas isso é assunto pra outro tópico!

 

Obrigado a todos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, tenho dois probleminhas e preciso muito de ajuda.

 

O primeiro problema: Trabalhava com o Flash na versão 2002 ou 2004, não me lembro bem, logo, o Flash CS3 é totalmente grego pra mim. Preciso criar um menu simples, com botões linkados a URLs. Consegui criar os botões exatamente como fazia antigamente, mas não consegui criar a action nem o link.

 

O segundo problema: Não encontrei sequer um tutorial ou passo-a-passo capaz de explicar didaticamente este procedimento no Flash CS3. Todas as buscas que fiz retornaram referências extremamente complicadas pra quem passou cinco anos de molho.

 

Eu não preciso nem quero estudar 20 páginas de action script 3.0, eu só preciso fazer com que o botão "pagina inicial" redirecione o brower para o "index.htm" na mesma janela atual. Coisa simples, clicou, mudou de pagina. Acho que isso deve ser muito, muito fácil...

 

Alguém pode ajudar?

 

Obrigado!

 

Porque nao estudar 20 paginas de actionscript? Você não estaria perdendo nada.pelo contrário estaria aprendendo...

É como o Tsoares falou ai acima voce tem que utilizar navigatetoURL assim:

 

function gotoImasters(event:MouseEvent):void
{
	var ImastersURL:URLRequest = new URLRequest("http://forum.imasters.com.br");
	navigateToURL(ImastersURL);
}

bt1.addEventListener(MouseEvent.CLICK, gotoImasters);

abs

 

 

Depois de ouvir meu marido xingar, esmurrar a mesa do pc, xingar o flash e todas sua gerações,resolvi procurar alguma coisa na rede e pasmem...muitas dúvidas relacionadas e muito pouco ou quase nenhuma solução....

 

Kisuke, a sua explicação trouxe de volta o sorriso ao meu marido...rsrsrsrsrsrs

 

Valeu mesmo....

 

Ah, agradeço a quem postou a dúvida aqui tbm..afinal sem ela meu marido já teria jogado o pc pela janela....hehehe...

valeu galera, bons trabalhos... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei que já está revolvido, mas como fazer que essa mesma função abra várias páginas diferentes ? Dependendo do botão que é clicado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

RiCartman,

 

Estou com o mesmo problema nao estou conseguindo colocar link no CS3 teria como você me passar os passos de como fezfuncionar?

 

Obrigado...

 

Obrigado hufersil....

 

Com seu vídeo consegui fazer funcionar o link...

 

Abraço...

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.