..:: MX Studio Fóruns ::..: Como fazer uma função Global? - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Como fazer uma função Global? Como fazer uma função Global?

#1 User is offline   carcleo 

  • Group: Membros
  • Posts: 150
  • Joined: 14-April 05

Posted 02 December 2007 - 12:46 PM

Eu tenho a seguinte ação no meu botão planos:
CÓDIGO
on (press) {
_root.barra2._visible = true;
_root.carrega._visible = true;
_root.aguarde._visible = true;
_root.swf.loadMovie("planos.swf");
_root.swf.loadVariables("planos.txt");
_root.barra2.onEnterFrame = function() {
   _root.barra2._xscale = Math.floor(_root.swf.getBytesLoaded()/_root.swf.getBytesTotal()*100);
   porcento = Math.floor(_root.swf.getBytesLoaded()/_root.swf.getBytesTotal()*100);
   _root.carrega = porcento+"%";
   if (Math.round(this._xscale) == 100) {
      _root.barra2._visible = false;
   }
}}


Porem, como todo botão do menu, eu to colocando a mesma coisa então eu queria fazer uma função(sei la superglobal), com os mesmos codigos ai pra só chamar tipo:
CÓDIGO
function carregar (arquivoswf){
_root.barra2._visible = true;
_root.carrega._visible = true;
_root.aguarde._visible = true;
_root.swf.loadMovie("arquivoswf");
_root.barra2.onEnterFrame = function() {
   _root.barra2._xscale = Math.floor(_root.swf.getBytesLoaded()/_root.swf.getBytesTotal()*100);
   porcento = Math.floor(_root.swf.getBytesLoaded()/_root.swf.getBytesTotal()*100);
   _root.carrega = porcento+"%";
   if (Math.round(this._xscale) == 100) {
      _root.barra2._visible = false;
   }
}
}

on (press) {
_root.swf.loadVariables("planos.txt");
carregar("Planos.swf");
}


Mas só da esse erro:
CÓDIGO
Statement must appear within on handler


Como saio desse problema?
0

#2 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 02 December 2007 - 04:07 PM

Você ta colando o segundo código nas ações do objeto, por isso esta dando esse erro.
Para resolver coloque as ações em um frame.

Para criar uma função:
CÓDIGO
function nome_qualquer () {
//Ações da função aqui;
}


Para chamar a função:
CÓDIGO
nome_qualquer ();


Abração !! thumbsup.gif
0

#3 User is offline   carcleo 

  • Group: Membros
  • Posts: 150
  • Joined: 14-April 05

Posted 02 December 2007 - 04:50 PM

ok mas isso ta certo:
CÓDIGO
function carregar (arquivoswf){}
...
carregar("Planos.swf");

ou tem que declarar o arquivosswf?
0

#4 User is offline   carcleo 

  • Group: Membros
  • Posts: 150
  • Joined: 14-April 05

Posted 02 December 2007 - 05:09 PM

Blz!
fiz isso:

CÓDIGO
function carregar(arquivoswf) {
    _root.carregaext._visible = true;
_root.swf.loadMovie(arquivoswf);
_root.carregaext.barra2.onEnterFrame = function() {
_root.carregaext.barra2._xscale = Math.floor(_root.swf.getBytesLoaded()/_root.swf.getBytesTotal()*100);
porcento = Math.floor(_root.swf.getBytesLoaded()/_root.swf.getBytesTotal()*100);
_root.carregaext.carrega = porcento+"%";
if (Math.round(this._xscale) == 100) {
      _root.carregaext.barra2._visible = false;
                                     }
                                                   }
        
                                }

e chameu a função assim:
CÓDIGO
switch (marcadora) {
        case "Planos" :
        carregar("planos.swf");
        _root.swf.loadVariables("planos.txt");
        break;
...

Só que não funciona
Onde ta o erro?
Obs: fiz na frame ta? O erro anterior sumiu mas não ta carregando o loadmovie
0

#5 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 02 December 2007 - 05:18 PM

Pelo que me parece você não declarou o que é arquivoswf

O flash não tem como carregar uma variável que ele não sabe o que é...
Você chegou a declarar o "arquivoswf" em algum lugar ?

Abração ! thumbsup.gif
0

#6 User is offline   carcleo 

  • Group: Membros
  • Posts: 150
  • Joined: 14-April 05

Posted 02 December 2007 - 05:24 PM

Não porque não sei como fazer isso no flash.

como seria? string?
desculpe a simplicidade.
0

#7 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 02 December 2007 - 05:31 PM

Eu não entendi muito bem o seu problema não, mas de qualquer forma, para declarar a sua variável basta iguala-la ao arquivo que irá carregar.

CÓDIGO
arquivoswf = seu_arquivo.swf

O que eu faria, seria que para cada botão que você clicasse ele mudaria o valor da variável arquivoswf, e depois disso carregasse a função que você criou.

Primeiro a gente coloca a função no primeiro frame da seguinte maneira:
CÓDIGO
function carregar () {
     _root.carregaext._visible = true;
_root.swf.loadMovie(_root.arquivoswf);
_root.carregaext.barra2.onEnterFrame = function() {
_root.carregaext.barra2._xscale = Math.floor(_root.swf.getBytesLoaded()/_root.swf.getBytesTotal()*100);
porcento = Math.floor(_root.swf.getBytesLoaded()/_root.swf.getBytesTotal()*100);
_root.carregaext.carrega = porcento+"%";
if (Math.round(this._xscale) == 100) {
       _root.carregaext.barra2._visible = false;
}}};


Agora, no botão home por exemplo:
CÓDIGO
on (release) {
_root.arquivoswf = home.swf;
_root.carregar ();
}


No botão empresa por exemplo:
CÓDIGO
   on (release) {
   _root.arquivoswf = empresa.swf;
   _root.carregar ();
   }


Em cada botão ele muda o valor da variável para o nome do arquivo que ele irá carregar, e após isso executa a função entendeu ?

Abração !! thumbsup.gif
0

#8 User is offline   carcleo 

  • Group: Membros
  • Posts: 150
  • Joined: 14-April 05

Posted 02 December 2007 - 05:42 PM

Agora consegui matar todos os problemas:
testa la pra voce ve:
CÓDIGO
www.carcleo.com/index.html


um link da pagina html mandando uma variavel pro php
CÓDIGO
www.carcleo.com/index.php (onde esta o arquivo index.swf que chamara por loadmovie, outros swf's externos.


O detalhe é, que no menu da pagina:
CÓDIGO
www.carcleo.com/index.html

A variavel manda pra limentar o menu do filme index.swf, em cada link do menu da pagina html tem um valor diferente:
index.html
CÓDIGO
<a href="index.php?internos=Planos">Planos</a>  <p>

<a href="index.php?internos=Portifolio">Portifolio</a><p>

<a href="index.php?internos=Contato">Contato</a><p>


index.php
CÓDIGO
<table align="center" width="200" border="0">
  <tr>
    <td align="center">
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="700" height="500">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="movie" value="index.swf?internos=<?=$internos; ?>"/>
    <param name="quality" value="high" />
    <embed src="index.swf?internos=<?=$internos; ?>" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="700" height="500"></embed>
  </object>
    </td>
  </tr>
</table>


index.swf
CÓDIGO
stop();
_root.carregaext._visible = false;
_global.marcadora = _level0.internos;

function carregar(arquivoswf:String) {
_root.carregaext._visible = true;
_root.swf.loadMovie(arquivoswf);
_root.carregaext.barra2.onEnterFrame = function() {
_root.carregaext.barra2._xscale = Math.floor(_root.swf.getBytesLoaded()/_root.swf.getBytesTotal()*100);
porcento = Math.floor(_root.swf.getBytesLoaded()/_root.swf.getBytesTotal()*100);
_root.carregaext.carrega = porcento+"%";
if (Math.round(this._xscale) == 100) {
      _root.carregaext.barra2._visible = false;
                                     }
                                                   }
        
                                }
                                
var alert:String = "java script:alert('marcadora: "+marcadora+"');";
switch (marcadora) {
        case "Planos" :
        carregar("planos.swf");
        _root.swf.loadVariables("planos.txt");
        break;

        case "Portifolio" :
        getURL(alert);
        break;        
        
        case "Contato" :
        getURL(alert);
        break;        
        
        case "" :
             loadMovie("home.swf", swf);
        break;                
                       }


Entendeu o detalhe.

Problema resolvido.

Causo encerrado!

Muiiiiiiiiiiiiiiiiiiiiiiito Obrigado.
0

#9 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 02 December 2007 - 05:57 PM

Showww....

Legal que resolveu os problemas ! thumbsup.gif

Agora uma coisa que não tem desculpa é errar o endereço do próprio site ! tongue.gif

www.carcleo.com

Não tem .br no final hehehehehhe.....

Abração !!! thumbsup.gif

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)