Ir para conteúdo
Fórum Script Brasil
  • 0

Target em Menu FLASH e XML


Junior Lins

Pergunta

Amigos,

Venho solicitar um HELP a vocês que são mais experientes, baixei um menu em flash e junto veio um XML, só que o problema que não consegui fazer os botões acessar um target.

Quando clicamos em um botão ele abre uma pagina em _blank com o SWF.

Abaixo segue os codigos:

XML

<?xml version="1.0" encoding= "UTF-8"?>
<menu>
    <menu text="PRINCIPAL" url="www.paginaprincipal.com.br">
    </menu>

    <menu text="NOSSA HISTÓRIA">
        <sub text="Sub menu 1" url="SWF/sub1.swf" />
        <sub text="Sub menu 2" url="SWF/sub2.swf" />
        <sub text="Sub menu 3" url="SWF/sub3.swf" />
    </menu>

    <menu text="PROJETOS">
        <sub text="Sub menu 1" url="SWF/sub1.swf" />
        <sub text="Sub menu 2" url="SWF/sub2.swf" />
        <sub text="Sub menu 3" url="SWF/sub3.swf" />
    </menu>
    
    <menu text="COMPANIA">
        <sub text="Sub menu 1" url="SWF/sub1.swf" />
        <sub text="Sub menu 2" url="SWF/sub2.swf" />
        <sub text="Sub menu 3" url="SWF/sub3.swf" />
    </menu>
    
    <menu text="CONTATO">
        <sub text="Sub menu 1" url="SWF/sub1.swf" />
        <sub text="Sub menu 2" url="SWF/sub2.swf" />
    </menu>

</menu>
CODIGO - ActionScript
import mx.transitions.Tween;
import mx.transitions.easing.*;
//
my_xml = new XML();
my_xml.ignoreWhite = true;
my_xml.load('menu.xml');
my_xml.onLoad = function() {
    make_menu();
};
//
// write text color with "0x" instead of "#", like this "0xFFFFFF" (white)
// text color for top buttons
main_text_color1 = "0xDDFF00";
main_text_color2 = "0x999999";
// text color for sub menus
sub_text_color1 = "0x666666";
sub_text_color2 = "0x000000";
//
//
function make_menu() {
    for (i=0; i<my_xml.firstChild.childNodes.length; i++) {
        button0.swapDepths(1000);
        if (i>0) {
            button0.duplicateMovieClip("button"+i, 1000+i);
            sub0.duplicateMovieClip("sub"+i, 100+i);
        }
        this["button"+i].main_text_field.text = my_xml.firstChild.childNodes[i].attributes.text;
        this["sub"+i]._y = 0;
        this["button"+i]._x = i*100;
        this["button"+i].the_number = i;
        this["button"+i].onRollOver = this["button"+i].onDragOver=function () {
            clearInterval(check_interval);
            this.main_text_field.textColor = main_text_color1;
            // move this sub down
            this._parent["go_up"+this.the_number].stop();
            if (this._parent["sub"+this.the_number]._y<17) {
                this._parent["go_down"+this.the_number] = new Tween(this._parent["sub"+this.the_number], "_y", Regular.easeIn, 0, 17, 12, false);
            }
            // move previous sub up
            if (open_menu != this.the_number) {
                this._parent["go_down"+open_menu].stop();
                this._parent["go_up"+open_menu] = new Tween(this._parent["sub"+open_menu], "_y", Regular.easeOut, 17, 0, 3, false);
            }
            // 
            open_menu = this.the_number;
            mouse_on_menu = "true";
        };
        this["button"+i].onRollOut = this["button"+i].onDragOut=function () {
            this.main_text_field.textColor = main_text_color2;
            mouse_on_menu = "false";
            // 
            clearInterval(check_interval);
            check_interval = setInterval(check_expanded_menus, 800);
        };
        this["button"+i].open_url = my_xml.firstChild.childNodes[i].attributes.url;
        this["button"+i].onRelease = function() {
            if (this.open_url != undefined) {
                getURL(this.open_url);
            }
        };
        // hide subs with no buttons
        if (my_xml.firstChild.childNodes[i].childNodes.length == 0) {
            this["sub"+i]._visible = false;
        }
        for (ii=0; ii<my_xml.firstChild.childNodes[i].childNodes.length; ii++) {
            if (ii>0) {
                this["sub"+i].s0.duplicateMovieClip("s"+ii, ii);
                this["sub"+i]["s"+ii]._x = ii*100;
            }
            this["sub"+i]["s"+ii].sub_text_field.text = my_xml.firstChild.childNodes[i].childNodes[ii].attributes.text;
            this["sub"+i].sub_c._x = this["sub"+i]["s"+ii]._x+this["sub"+i]["s"+ii]._width;
            //
            this["sub"+i]["s"+ii].onRollOver = this["sub"+i]["s"+ii].onDragOver=function () {
                mouse_on_menu = "true";
                this.sub_text_field.textColor = sub_text_color2;
            };
            this["sub"+i]["s"+ii].onRollOut = this["sub"+i]["s"+ii].onDragOut=function () {
                this.sub_text_field.textColor = sub_text_color1;
                mouse_on_menu = "false";
            };
            this["sub"+i]["s"+ii].open_url = my_xml.firstChild.childNodes[i].childNodes[ii].attributes.url;
            this["sub"+i]["s"+ii].onRelease = function() {
                if (this.open_url != undefined) {
                    getURL(this.open_url);
                }
            };
            // maintain sub menu open if mouse is on the margins too
            this["sub"+i].sub_a.onRollOver = this["sub"+i].sub_a.onDragOver=this["sub"+i].sub_c.onRollOver=this["sub"+i].sub_c.onDragOver=function () {
                mouse_on_menu = "true";
            };
            this["sub"+i].sub_a.onRollOut = this["sub"+i].sub_a.onDragOut=this["sub"+i].sub_c.onRollOut=this["sub"+i].sub_c.onDragOut=function () {
                mouse_on_menu = "false";
            };
            // hide hand cursor for sub menu margins
            this["sub"+i].sub_a.useHandCursor = false;
            this["sub"+i].sub_c.useHandCursor = false;
            //
            this["sub"+i]._x = this["button"+i]._x;
            last_button_position = 100*(my_xml.firstChild.childNodes.length);
            if (this["sub"+i]._x+this["sub"+i]._width>last_button_position) {
                this["sub"+i]._x = last_button_position-this["sub"+i]._width;
            }
        }
    }
}
function check_expanded_menus() {
    if (mouse_on_menu != "true" and mouse_on_menu != undefined) {
        if (eval("sub"+open_menu+"._y")>0) {
            this["go_down"+open_menu].stop();
            this["go_up"+open_menu] = new Tween(eval("sub"+open_menu), "_y", Regular.easeOut, 17, 0, 3, false);
            //
            open_menu = undefined;
            clearInterval(check_interval);
        }
    }
}

alguém pode me ajudar?

Agradeço antecipadamente.

Junior Lins

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olhando seu código não há nada nem no XML nem no AS que diz a direção da janela ....

você deve alterar no seu AS o comando "getURL" que é o responsável por abrir a janela, você pode colocar "seco" igual o exemplo ou colocar mais um "nõ" no XML que aponte a direção ficando a seu criterio ...

getURL(this.open_url, "_blank");
getURL(this.open_url, "_self");
getURL(this.open_url, "outra_janela");

http://www.plugmasters.com.br/sys/materias.../Comando-getURL

Acho que isso é mais Flash do que HML/JS etc. ...

Link para o comentário
Compartilhar em outros sites

  • 0
Olhando seu código não há nada nem no XML nem no AS que diz a direção da janela ....

você deve alterar no seu AS o comando "getURL" que é o responsável por abrir a janela, você pode colocar "seco" igual o exemplo ou colocar mais um "nõ" no XML que aponte a direção ficando a seu criterio ...

getURL(this.open_url, "_blank");
getURL(this.open_url, "_self");
getURL(this.open_url, "outra_janela");

http://www.plugmasters.com.br/sys/materias.../Comando-getURL

Acho que isso é mais Flash do que HML/JS etc. ...

Ola, SK15,

Vi sua resposta, realmente não tinha esse comando, como muitos aqui sou aventureiro..rsrs, e graças a DEUS tem vocês pra ajudar a escapar das ignorancias..rsrs.

Minha outra pergunta é:

Eu tenho como clica no botao e ele entrar no meio de uma pagina em flash? como se fosse um MC?

agradeço novamente.

JR

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...