Jump to content


Photo

Gotoandplay Duplo...


  • Faça o login para participar
7 replies to this topic

#1 zesign

zesign

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado
  • Localidade:São Paulo
  • Interesses:Host

Posted 17/06/2005, 12:38

Boa tarde pessoal..

Tô num mato sem cachorro aqui... apanhando do flash... meu problema é o seguinte..

Tenho uma animação da home de um site.. essa animação termina com um stop...

Após esse stop, tenho uma animação que seria a transição da Home para uma página interna...

Na home tenho vários links... e cada link desse ganhou um Label na timeline..

O problema vem na hora de fazer esses links... quando eu clico no botão lá na home, ele tem que passar pela animação da transição e aí sim ir para o Label referente a ele mesmo... entendem?

A ação não pode ficar no fim da transição porque tenho vários links.. cada um tem que ir pra um label diferente.. e têm que passar pela animação de transição..

Pensei em algo assim para a action do botão (mas não sei como passar isso pro Flash):

Se O botão X foi clicado, GotoAndPlay Animação de Transição e GotoAndPlay Label X

Será que alguem pode me dar uma ajuda? to pensando nisso tem 2 dias já... e nada de surgir uma solução!

Valews!

#2 cond

cond

    Normal

  • Usuários
  • 75 posts
  • Sexo:Não informado
  • Interesses:CC- UFES

Posted 18/06/2005, 11:02

bom pelo que eu entendi...e se for a mesma animação de transição pra todos os links...

Crie seus botões neste frame (por exemplo:frame 30), a animação de transição deve iniciar no proximo frame(31) por exemplo, e acabar num frame qualquer (40, vamos disser).

Bom no frame 30 coloquei:

select = "";
bot1.onPress = function() {
select = bot1;
gotoAndPlay(31);
};
bot2.onPress = function() {
select = bot2;
gotoAndPlay(31);
};


criei uma variavel vazia <select>...quando clicar no botão ela recebe uma valor de caracter, por exemplo cliquei no bot1 então a agora <select> que tava vazia agora é "igual a bot1", blz??

No frame 40, final da animação de transição, coloquei este script:

if (select == bot1) {
getURL("http://cerimonialsteffen.com.br");
} else if (select == bot2) {
getURL("http://www.google.com.br");
}

Bom acho que da pra entender oque ele faz...

Cara como eu disse foi oque entendi...
blz??
by cond

#3 jarrier_paulo

jarrier_paulo

    Apreendendo e contribuindo com a melhor performance.

  • Usuários
  • 158 posts
  • Sexo:Masculino
  • Localidade:Natal
  • Interesses:Encontrar respostas para minhas dúvidas, e tentar ajudar as pessoas com suas dúvidas.

Posted 23/06/2005, 20:02

Existe alguma forma de fazer isto com frames

#4 Patrique

Patrique

    Super Veterano

  • Usuários
  • 1859 posts
  • Sexo:Não informado

Posted 24/06/2005, 00:08

Coe jarrier_paulo existe sim é so vc fazer o seguinte:

A primeira coisa a fazer é baixar esse arquivo javascript

http://www.gamix.com.br/affsclib.zip

Sem esse arquivo vai ser quase impossível fazer isso. Depois de baixar esse arquivo, é só descompactar ele no sub-diretório HTML do flash (C:\Arquivos de programas\Macromedia\Flash 5\HTML se vc não alterou a configuração padrão de instalação) e reiniciar o programa.

Dentro do affsclib.zip, você vai ter 4 outros arquivos:

Affsclib.js
Affscjs.html
Affscjsi.html
Readme.txt

O que nos interessa aqui é o primeiro (affsclib.js). Dentro dele, há todos os comandos possíveis para controlar um movie. Seja o próprio movie, ou um movie na mesma página ou até mesmo um movie em outro frame html.

Vamos ao que interessa... Bom, nós temos, no nosso exemplo, dois movies. Um será o principal (que vai ter os comandos) e o outro é o que vai receber esses comandos. No movie que vai receber as ações (vamos chamá-lo de "receptor") você vai montá-lo do jeito que quiser. Animações, interpolações, actionscript, qualquer coisa. A única coisa importante é na hora de publicar. Aí precisa escolher a opção "Flash with FSCommand".

No movie principal, o que vai enviar as ações para o outro movie, nós vamos montá-lo da seguinte maneira: 3 Botões; Alguns textos. Em cada um dos botões nós vamos inserir a seguinte action:

on (release) { 
   fscommand ("setFrameRef","direita,receptor,2") 
   fscommand ("goToFrameNumber","1,2") 
}


O que faz esse comando???

Vamos explica-lo por parte...

O primeiro fscommand:

SetFrameRef -> Define qual o frame q contém o movie (swf);
Direita -> Nome do frame (frame name="direita");
Receptor -> ID do swf.
2 -> Indica q o movie está em um outro frame. Esse valor varia de 0 a 2.

0 (zero) significa o próprio movie;
1 indica q é um outro movie, porém, na mesma página, e;
2 indica q o movie está em um outro frame

No segundo fscommand:

GoToFrameNumber -> Vai para o frame número ?;
1 -> é o número do frame (aqui vc vai alterar o valor nos 3 botões).
2 -> é o mesmo esquema do "2" do primeiro fscommand.

Voltando ao movie principal.

Depois de montar as actions, vá no menu File-> "Publish Settings" (crtl+shift+F12).
Na aba HTML, vá até "Template" e selecione "AF include FS Command JS Library."

Não achou essa opção???
Bom, lá no começo, tinha um arquivo zip para baixar... Pois é!!! Faça aquele processo de instalação e você vai ver q ele aparece. Agora é só mandar publicar e pronto.

Agora o HTML.

Até agora vc tem dois movies e duas páginas html, certo?! Em cada página criada (através do publish do Flash) você vai ter entre as TAGS <OBJECT> </OBJECT> e <EMBED> </EMBED> um valor ID e NAME. Os dois valores são iguais. Para o receptor.html vc vai ter ID=receptor e NAME=receptor Para o principal.html vc vai ter ID=principal e NAME=principal

****

Qual a diferença entre as páginas criadas com a opção Flash with FSCommand e AF include FS Command JS Library?

Na página criada com a segunda opção, ele insere alguns comandos contidos em uma função javascript.
----------

<script LANGUAGE="JavaScript"> 
<!-- 
// Code by AshzFall. 
// www.ashzfall.com/flash/fscomlib/index.html 
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1; 
var libLoad=0; 
// Handle all the the FSCommand messages in a Flash movie 
function principal_DoFSCommand(command, args) { 
if (libLoad) 
{doComs(command,args);}} 
// Hook for Internet Explorer 
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 &&
    navigator.userAgent.indexOf("Windows") != -1 && 
    navigator.userAgent.indexOf("Windows 3.1") == -1) { 
    document.write(' <script LANGUAGE=VBScript\> \n'); 
    document.write('on error resume next \n'); 
    document.write('Sub opc_FSCommand(ByVal command, ByVal args)\n'); 
    document.write(' call opc_DoFSCommand(command, args)\n'); 
    document.write('end sub\n'); 
    document.write(' </SCRIPT\> \n'); 
} 
// --> 
</SCRIPT> 
<script LANGUAGE="JavaScript" SRC="affsclib.js"> </SCRIPT> 
</HEAD> 
<BODY bgcolor="#FFFFFF" onLoad="setMovieRef('principal',0)" >



Agora só falta criar o frame.

Crie um html com duas frames.
Frame esquerda = principal.html
Frame direita = receptor.html

Aí vc pergunta: "Porque esquerda e direita?" Bom, é só para explicar, aqui poderia ser o nome que vocês quiserem. Mas não se esqueça que no fscommand você tá fazendo referência ao frame "direita". Então já sabe...

Pronto.

Agora é só testar.

Mais uma coisa!!! Não se esqueça de colocar o affsclib.js no diretório especificado em:
<script LANGUAGE="JavaScript" SRC="affsclib.js"> </SCRIPT>

Se não ele não vai rodar!!! Agradeçam a equipe da AshzFall por isso!!! pois o códigos são deles

No link segue um manual em PDF, explicando as funções contidas no arquivo JS.

http://www.gamix.com.br/swf_frame.zip

Um abraço,
Patrique André

#5 cond

cond

    Normal

  • Usuários
  • 75 posts
  • Sexo:Não informado
  • Interesses:CC- UFES

Posted 24/06/2005, 00:13

Caramba não entendi!!
Era isto mesmo que o cara que abriu o topico queria???
by cond

#6 Patrique

Patrique

    Super Veterano

  • Usuários
  • 1859 posts
  • Sexo:Não informado

Posted 24/06/2005, 00:23

Em relação ao zesign não era isso.

Dei uma resposta ao Jarrier_paulo

Era isso que ele queria :unsure: ....

Bom eu acho que era isso heheheheh

E vc disse que não entendeu baixe os arquivos e debulhe o código fonte, teste ai na sua máquina para ter uma ideia.

(y)

Um abraço,
Patrique André

#7 jarrier_paulo

jarrier_paulo

    Apreendendo e contribuindo com a melhor performance.

  • Usuários
  • 158 posts
  • Sexo:Masculino
  • Localidade:Natal
  • Interesses:Encontrar respostas para minhas dúvidas, e tentar ajudar as pessoas com suas dúvidas.

Posted 24/06/2005, 13:36

cara o que vc esta querendo não sei mas o que eu quero é muito mais simples.

btn_1.onPress=function():Void{
   var i:Number = 3;
   var f:Number = 40;
   var ir:Number = 41; //Aqui o frame que tu quer ir depois
   onEnterFrame=function():Void{
       if(i==f){
           gotoAndStop(ir);
           delete onEnterFrame;
       }
       gotoAndPlay(i);
       i++;
   }
}

O problema esta neste código. Não funciona como deveria.

#8 Patrique

Patrique

    Super Veterano

  • Usuários
  • 1859 posts
  • Sexo:Não informado

Posted 24/06/2005, 13:47

Xii hehehe pensei que o frame q o zesign se referiu era em html fazendo a acao no flash por um botão em html..

hehehe foi mal ae galera entendi mal mais vou deixar o post como esta pois se alguem precisar estara sempre ae.

Um abraço,
Patrique André




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq