Ir para conteúdo
Fórum Script Brasil

gimbras

Membros
  • Total de itens

    44
  • Registro em

  • Última visita

Posts postados por gimbras

  1. Bom,

    já descobri a resposta.

    Temos de obter o valor actual da variável 'i' que está a ser incrementada (que está a ser contada), e não o seu valor na hora que o onRelease é chamado. Para fazer isto, existe a função assignLink() que obtem a variável 'i' como um parâmetro e usa-la para o link. Porque o parâmetro é passado como um valor, ele irá conter o valor real de 'i'.

    O número a partir do qual vamos começar a adicionar valores para os links serem gerados é o segundo parâmetro. Temos de ter em atenção o parâmetro linkID. De momento está codificado, mas pode ser um número vindo de uma base de dados.

    Só temos também de ter em atenção que o valor obtido com o linkID é um número a mais do que o número com o qual iniciamos a contagem, porque se soma sempre o valor da variável 'i' em cada chamada. Portanto para ter o linkID a começar em 381, o parâmetro tem de ser 380.

    function assignLink(mcID:Number, linkID:Number){
        _root["mc_"+mcID].onRelease = function(){
            getURL("test.php?where="+linkID+"", "_self");
        }
    }
    
    // chamada a partir de um ciclo
    for (var i:Number = 1;i<=20;i++){
        // ...
        assignLink(i,380+i);
        // ...
    }

    Resolvido.

    Cumps.

  2. Era exactamente isto que eu queria.

    Mas...

    no primeiro exemplo só o onRelease do mc_1 está sendo ativado, já no segundo todos os movs tem uma ação.

    Para concatenar uma var ao texto getURL você pode fazer da mesmo forma como fez para deixar o alvo da ação onRelease flutuante:

    for (var i:Number = 1;i<=20;i++){

    this["mc_"+i].onRelease = function() {

    getURL("teste.php?where="+i, "_self")

    };

    };

    Aqui ele começa a linkar a partir do 21, ficando teste.php?where=21

    Já tentei criar um novo ciclo substituindo nesse código a var i pela nova var y, mas acontece o mesmo o link começa sempre no where=21

    já para decidir em qual valor de id começar, você pode criar uma função e através dela informar o id q deva ser usado, exemplo:

    mc_onRelease = function(i, k){

    this["mc_"+i].onRelease = function() {

    getURL("teste.php?where="+k, "_self")

    };

    }

    nesse exemplo "i" seria o ponteiro para identificar o movie alvo e "k" o identificador do ID da tabela.

    Foi isso q eu entendi que você queria pelo menos ...

    E aqui não fica linkado, nem percebi bem onde se informa o id a partir do qual se começa a contar.

    Entendo que a var k é o id, mas onde coloco a informação que por exemplo k=381? Para o próximo link ser teste.php?where=382

    Obg pela ajuda até agora.

  3. Oias!

    Ando a linkar montes de movieclips e resolvi usar um ciclo FOR (que de resto já é usado para chamar os movieclips). E usar a variável criada no meio do URL para facilitar as coisas.

    O problema é que não sei concatenar parte do url com a referida variável.

    O AS é o seguinte:

    for (var i:Number = 1;i<=20;i++){
    this["mc_"+i].onRollOver = function() {
     var numero:Number = Number(this._name.split("_").pop());
     this.onEnterFrame = function () {
      _root["cap"+numero]._alpha += (100-_root["cap"+numero]._alpha)/3;
      _root["cap"+numero]._x -= (_root["cap"+numero]._x-_xmouse)/2;
      _root["cap"+numero]._y -= (_root["cap"+numero]._y-_ymouse)/2;
     };
    };
    this["mc_"+i].onRollOut = function() {
     var numero:Number = Number(this._name.split("_").pop());
     this.onEnterFrame = function() {
      _root["cap"+numero]._alpha += (0-_root["cap"+numero]._alpha)/3;
     };
    };
    };
    
    mc_1.onRelease = function () {
    getURL("teste.php?where=1", "_self")
    }
    Ora são montes de movieclips e andar a linká-los um a um demora bastante. Pensei em criar outro ciclo FOR deste género:
    for (var i:Number = 1;i<=20;i++){
    this["mc_"+i].onRelease = function() {
    getURL("teste.php?where=1", "_self")
    };
    };

    Mas isso só linkaria todos os mc ao mesmo url. Eu queria que cada mc tivesse um url onde a parte where=1 fosse sendo somado 1 valor. Ou seja, o mc_1 ia para where=1, o mc_2 para where=2, etc...

    Também se possível ser eu a indicar a partir de que número é que se começaria a somar os links.

    Por exemplo no where=2, o 2 é o id de uma tabela da base de dados. Vamos supor que a base de dados já vai no ID 386, eu quero que comece a somar a partir daí mais 1. Ficando teste.php?where=387,teste.php?where=388, etc...

    Mas não sei se isto está certo nem como colocar a var i no meio do endereço.

    Peço então a vossa ajuda.

    Cumps.

  4. Olá Brasil,

    Venho aqui perguntar se vocês têm ou não o TLD (Top Level Domain) . BR ou se só têm .com.br como o TLD oficial.

    Se só não têm . BR isso acontece porquê? A que outro país foi atribuido o .BR

    Obg!

  5. Aquilo pode ser uma máscara. Só se vê um fundo em tamanho pequeno, anexa-se o mouse a uma máscara que quando passa por cima do fundo deixa "ver" outra layer com a imagem de fundo em tamanho maior.

    Ou seja 3 layers:

    Mascara

    Fundo em grande

    Fundo em pequeno

    Simples, né?

  6. Pois o endereço estava com duas letras trocadas, eu bem que podia ter visto isso.

    fercosmig: vou seguir o teu conselho. É que o país é enorme e se dividisse mais demorava muito tempo mesmo.

    Obg.

    PS: São 13:03 aqui em Lisboa, que horas são aí? Preciso de saber a que horas vale a pena vir ao ScriptBrasil para evitar vir quando vocês estão todos a dormir.

    Cumps.

  7. Eis o código (está dentro da tag Head)

    <HEAD>
    <TITLE>EarthQuake</TITLE>
    <script language="JavaScript" type="text/javascript">
    function init() {
    setTimeout("shake(3)",1000);
    setTimeout("this.focus()",4000);
    setTimeout("shake(3)",4100);
    }
    function register()
    {
    var isAol = "no";
    var res = 800;
    }
    function shake(n) {
    if (self.moveBy) {
    for (i = 10; i > 0; i--) {
    for (j = n; j > 0; j--) {
    self.moveBy(0,i);
    self.moveBy(i,0);
    self.moveBy(0,-i);
    self.moveBy(-i,0);
             }
          }
       }
    }
      a=275;
      b=275;
      r=20;
      x=1;
      z=1;
    function rotate(r) {
    while (z<=3) {
                 for (var i = 0; i <360; i++) {
                    x = (r * Math.cos((i * Math.PI)/180)) + a;
        y = (r * Math.sin((i * Math.PI)/180)) + b;
        window.moveTo(x,y);
                       }
    z+= 1;
    }
    setTimeout("shake(3)",10000);
    }
    </script>
    </HEAD>
    <BODY ONLOAD="init()">

    Tmb funciona no Firefox.

    Cumps.

  8. Vou dar o exemplo doutros países.

    Portugal por exemplo. Tem muitos distritos (divisões) e em cada distrito tem vários concelhos (subdivisões).

    Podem ver isso em http://casa.sapo.pt/ no mapa em Flash que lá está.

    Se visitarem o distrito de Faro (o último lá em baixo a Sul), vão ver que esse distrito tem várias divisões.

    Nos Estados Unidos da América, cada estado também tem divisões internas.

    São 51 Estados e por exemplo no Estado do Alabama

    http://en.wikipedia.org/wiki/List_of_Alabama_counties estão divididos em 64 condados (counties).

    Pergunto se aqui no Brasil não existe esse tipo de divisões dentro de cada Estado.

    Obrigado de antemão.

    wink.gif

    PS: Se não existir melhor então, terei menos trabalho.

  9. Olá pessoal,

    Estou a fazer uns mapas do mundo inteiro em Flash e chego agora ao Brasil. Fiz o mapa do país todo dividido por estados, baseando-me na imagem que encontram em: http://en.wikipedia.org/wiki/States_of_Brazil

    Agora pediram-me que além do mapa geral do Brasil, eu fizesse o mapa de cada estado com todas as suas divisões internas.

    Ou seja, Brasil > Acre > divisões do Acre.

    Mas não sei onde encontrar mapas das divisões internas do Acre nem dos restantes estados. Alguém sabe onde posso encontrar imagens com essas divisões?

    Muito Obrigado.

  10. Olá,

    Sempre que cá venho tenho de me logar de novo. Mesmo com a opção para o fórum se lembrar de mim, mesmo com as cookies activas tenho de voltar a fazer login.

    Em todos os outros fóruns isso não acontece.

    Que se passa? Pesquisei e não encontrei nenhum tópico sobre este tipo de problema.

    Já limpei a cache e tudo.

    Cumps.

  11. Senshi obrigado!

    Mudei assim e ficou a funcionar.

    for (var i:Number = 1;i<=20;i++){
    this["mc_"+i].onRollOver = function() {
     var numero:Number = Number(this._name.split("_").pop());
     this.onEnterFrame = function () {
      _root["cap_"+numero]._alpha += (100-_root["cap_"+numero]._alpha)/3;
      _root["cap_"+numero]._x -= (_root["cap_"+numero]._x-_xmouse)/2;
      _root["cap_"+numero]._y -= (_root["cap_"+numero]._y-_ymouse)/2;
     };
    };
    this["mc_"+i].onRollOut = function() {
     var numero:Number = Number(this._name.split("_").pop());
     this.onEnterFrame = function() {
      _root["cap_"+numero]._alpha += (0-_root["cap_"+numero]._alpha)/3;
     };
    };
    };

    Cumps.

  12. Não tenho problema em seguir o tutorial. Fica a funcionar muito bem.

    Agora imaginem que em vez de uma única imagem que precisa desse efeito (caption) tenho 50? Não vou andar a escrever o mesmo código 50 vezes para conseguir manipular os 50 objectos. Por isso teria de usar o clico 'for' que programaria os 50 objectos por mim.

    É que não se trata apenas de .SWF com 50 objectos que precisam de caption. São é 150 mapas cada um com uma média de 20 movieclips que precisam de legenda.

    Deixo aqui os ficheiros então:

    (efeito pretendido)

    http://escape.do.sapo.pt/for.fla

    http://escape.do.sapo.pt/for.swf

    (com o clico 'for' sugerido)

    http://escape.do.sapo.pt/for2.fla

    http://escape.do.sapo.pt/for2.swf

    Cumps. Obg pela ajuda até agora.

×
×
  • Criar Novo...