1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

XML + Flash

Discussão em 'Web Development' iniciada por wistful, 7 de Janeiro de 2009. (Respostas: 14; Visualizações: 895)

  1. Bom dia!

    Sou nova aqui no forum, mas tenho desde já uma dúvida a colocar.

    Estou a alterar o site da empresa em que trabalho para criar uma área de notícias actualizadas por XML. O site foi feito em flash.
    A estrutura do site é a seguinte: há um container que vai buscar vários swf's, dependendo da área escolhida.
    Criei um novo swf, está tudo a funcionar em termos de XML quando abro o swf por si.
    Mas quando tento aceder a este swf através do container as informações do ficheiro XML não são lidas.

    Será uma questão de script dentro de algum dos swf's ou será mesmo no XML?
    Se alguém conseguir ajudar agradeço imenso.
     
  2. fil79

    fil79 Power Member

    podes tentar criar uma função para ler xml no swf pai (o que contêm o container) e a partir do swf carregado no container invocar essa função..basta direccionares para o _root e escrever o nome da função --> _root.lerXml
     
  3. Afinal a solução era muito simples...
    Eu tinha o xml no local do swf "filho", mas tinha que ser no do "pai"...
    O container.swf está no site/pt, e o resto dos swf's estão na pasta site/pt/swf...
    Daí não dar quando se abria o container. Sinto-me tão parva quando as soluções são tão fáceis :P
    Muito obrigada pela ajuda! =D
     
  4. Agora precisava de mais ajuda :x Mas vai ser complicado não vos podendo enviar o fla.

    A ideia é:
    Tenho um container (que é a página home).
    Esse container tem botões com resumos de noticias que têm links directos para dentro de um swf com as noticias.
    E portanto preciso de uma coisa que parece fácil mas não é.
    Dentro do swf das noticias tenho um menu com as noticias, e dependendo dos botões clicados no container aparece uma determinada noticia (uma determinada frame da timeline do swf das noticias).
    Até aqui tudo bem. Mas agora precisava que os botões ficassem em estado activo quando se vai directamente do container para uma noticia especifica (isto para fazer o utilizador perceber onde se encontra).
    O problema é que tudo o que tento fazer entra em conflito com o script criado pelo web designer anterior.

    O script é:
    Código:
    this.activateItem = function(item) {
        if (this.currentItem != false) {
            this.deActivateItem();
        }
        this.currentItem = item;
        this.currentItem.alphaTo(100,1);
        this.currentItem.enabled = false;
    };
    this.deActivateItem = function() {
        this.currentItem.enabled = true;
        this.currentItem.gotoAndPlay("fecha");
        this.currentItem.alphaTo(100,1);
        this.currentItem = undefined;
        vazio_mc.unloadMovie();
    };
    
    btn1.onRollOver = function() {
        this.gotoAndPlay("abre");
    };
    btn1.onRollOut = function() {
        this.gotoAndPlay("fecha");
    };
    btn1.onRelease = function() {
        this._parent.activateItem(this);
        gotoAndPlay("um");
    };
    
    Agora não sei. Já tentei mt coisa mas nada funciona sem entrar em conflito com este script. Se calhar a solução vai ser mesmo mudar o script.

    Estou a post'ar sem grande esperança que resolvam, mas obrigada por lerem na mesma :)
     
    Última edição pelo moderador: 12 de Janeiro de 2009
  5. Rach n' Roll

    Rach n' Roll Power Member

    Luce! eu li, mas como já deves imaginar, não te consigo ajudar...
    mas o pessoal daqui é porreiro (não é pessoal?) e pode ser que consiga :p

    jinhos
     
  6. Não tem que ver com ser porreiro, por isso já provaram que sim comigo, mas é uma questão complicada, principalmente quando vista de fora...
     
  7. fil79

    fil79 Power Member

    já li e reli o tópico e continuo sem perceber muito bem o que pretendes..queres que o botão tenha um determinado comportamento ao ser clicado (on release)??
     
  8. não... quero que qd se entra em determinada noticia directamente através da home que o botão correspondente à noticia apareça activo.

    isto é: cada botão de noticias tem 3 estados. eu queria que ele ficasse em estado de "onRelease" qd se vem da home... mas sem interferir o script que o outro webdesigner fez...
     
  9. masterArt

    masterArt Power Member


    Pelo que vejo é impossível. Ou pelo menos complicado, o AS tem de estar em harmonia plena ou funciona mal.

    Eu posso dar uma vista de olhos, se for possível posta os ficheiros do site num .zip. ou então envia por PM. É impossível ajudar de outra forma.
     
  10. fil79

    fil79 Power Member

    como dizes sem ter o .fla é dificil fazer o que pretendes usando o código, mas podes fazer tu mesmo:

    ACTIONSCRIPT 2:

    a) Convertes os botões do SWF NOTICIAS em movieclips e instancias cada um (mc1, mc2, etc):

    b) dentro de cada um destes movieclips crias duas labels ,uma para cada estado do botão (ex:activo,inactivo )

    c) Crias uma variável no SWF pai que controla qual o botão premido
    (ex: var botPremido="")

    d ) no on (release) dos botões do SWF pai além de carregares o SWF noticias, a variável botPremido passa a ter o valor do mc que instanciaste na alinea a)
    (ex: _root.botPremido="mc1")

    e) agora no SWF Noticias só tens de dar a instrução para activar o botão carregado, que fica guardado na variável botPremido
    (ex: eval(_root.botPremido).gotoAndPlay("activo"))

    se seguires estes passos vais conseguir fazer o que pretendes..espero que me tenha feito entender..bom trabalho ;)
     
  11. fizeste-te entender sim, mas já tinha feito isso... o que acontece é que entra em conflito com o outro script :x

    Enviar não posso... É da empresa e eles davam-me um tiro se eu enviasse isto a alguém :x

    Mas muito obrigada na mesma!!
     
    Última edição: 13 de Janeiro de 2009
  12. fil79

    fil79 Power Member

    Por experiência própria, acho que a maior parte das vezes perde-se menos tempo a fazer de novo do que tentar adaptar a algo já existente..
     
  13. sim, tens toda a razão... é o que estou a fazer, apesar de não estar a ter mt sorte xD

    muito obrigada!!
     
  14. fil79

    fil79 Power Member

    esquece o código antigo, e faz da maneira que te disse que é relativamente rápido...bom trabalho
     
  15. Desculpem só responder agora, mas fui tendo muito trabalho e não deu para pegar no site.

    Acabei de pegar nele, e fiz algo do género do que o fil79 disse :) Funciona!! :009:

    Muito obrigada! Este forum "rula" :P
     

Partilhar esta Página