Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

stview

Menu Dinamico

Recommended Posts

Eae,Estou tentando criar algumas coisas interativas no flash e estou apanhando.Por exemplo:Eu quero criar um menu dinamico, mas quero dar a flexibilidade de poder não só alterar o nome e link, mas o número de itens no menu.Hoje eu quero Home, Empresa e Contato, amanha quero inserir Produtos.Minha dúvida é, como eu farei isso no flash?Como eu faço esse loop que após receber os dados do php verifica o número de ítens?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você faz um loop que recebe as variaveis do php, e as joga dentro de um array, onde o numero de elementos do array vai ser o numero maximo do loop...ae você usa um movieclip com uim campo de texto dinamico dentro, e faz um attachMovie dentro do for, ou while, mudando a posição dos botoes sempre em relação ao anterior.....depois você joga o texto no campo dinamico usando o arraysacou?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, me parece que funciona.Você poderia me dar um exemplo dessa rotina?Eu ainda não encontrei um exemplo parecido, todos que ja encontrei não funcionaram.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qtd = x // variavel que vem do php

for (i=0;i<qtd;i++)

{

attachMovie('botao', 'botao'+i, _root.getNextHighestDepth(), {_x:0, _y:0})

_root['botao'+i]._y = _root['botao'+(i-1)]._y + _root['botao'+(i-1)]._height

_root['botao'+i].campodetexto.text = arrayDeStrings

_root['botao'+i].onRelease = function ()

{

/*aqui você define as ações para os botoes, lembre de usar a mesma logica de rotina, fazem a mesma coisa, só muda a vatriavel i, no caso pode ser uma variavel no array, que vá ser exbida num campo de texto dinamico*/

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

To tentando, mas esqueci de avisar que sou prego no Flash.Não estou conseguindo, ja criei um movie com o nome botao, exportei pro AC ...Da um help ae de como eu devo fazer do começo please!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

seu movieclip tem que ter um campo de texto instanciado dentro dele...

 

depois você coloca esse nome que usou na

 

_root['botao'+i].campodetexto.text = arrayDeStrings

 

o array, imagino que você saiba fazer, certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que não pq eu não entendi sua frase, coloco o nome que usei no (codigo) o array ... que array?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa fazer um LoadVars para puxar as variaveis do phpcomo você tá colocando as variaveis no flash?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguintem estou com problema no array:

 

Me é retornado 3 resultados, logo o loop vai 0, 1 e 2:

trace(i) // retorna 0, 1 e 2

trace(info_RETURN.NOME1) // retorna sempre o nome do registro 2

trace(info_RETURN.NOME) // undefined

 

 

O que esta errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

trace(info_RETURN.NOME)

 

posta o codigo todo dentro do for...senão fica dificil saber como você está fazendo

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP:

PHP [/tr][tr]<?

&x=3&

 

&NOME0=Primeira Notícia&

&FONE0=mostra_noticia.php?id=1&

 

&NOME1=Segunda Notícia&

&FONE1=mostra_noticia.php?id=2&

 

&NOME2=Terceira Notícia&

&FONE2=mostra_noticia.php?id=3&

 

?>

[/tr]

 

Flash

 

info_Rep  = new LoadVars();info_RETURN = new LoadVars();info_Rep.id = estado;info_Rep.sendAndLoad("teste.php",info_RETURN,"POST");info_RETURN.onLoad = function () {	qtd = info_RETURN.x // variavel que vem do php	trace(info_RETURN.x)	for (i=0; i<qtd; i++) {/*  attachMovie('infos', 'infos'+i, _root.getNextHighestDepth(), {_x:0, _y:0})  _root['infos'+i]._y = _root['infos'+(i-1)]._y + _root['infos'+(i-1)]._height  _root['infos'+i].NUF.text	= i  _root['infos'+i].NOME.text	= info_RETURN.NOME[i]  _root['infos'+i].FONE.text	= info_RETURN.FONE[i]  _root['infos'+i].CEL.text	= info_RETURN.CEL[i]    //_root['infos'+i].onRelease = function () {  //}*/  trace(i)  trace(info_RETURN.NOME1)  trace(info_RETURN.NOME[ i ])	} };

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta issoinfo_Rep = new LoadVars();info_RETURN = new LoadVars();info_Rep.id = estado;info_Rep.sendAndLoad("teste.php",info_RETURN,"POST");info_RETURN.onLoad = function () {qtd = this.x // variavel que vem do phptrace(this.x)for (i=0; i<qtd; i++) { attachMovie('infos', 'infos'+i, _root.getNextHighestDepth(), {_x:0, _y:0}) _root['infos'+i]._y = _root['infos'+(i-1)]._y + _root['infos'+(i-1)]._height _root['infos'+i].NUF.text = i _root['infos'+i].NOME.text = this['NOME'+i] _root['infos'+i].FONE.text = this['FONE'+i] _root['infos'+i].CEL.text = this.['CEL'+i] //_root['infos'+i].onRelease = function () { //} trace(i) trace(this['NOME'+i]) trace(this['NOME'+i])} };

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, um grande erro foi que estava tudo dentro de um movie na raiz.

 

CHeguei ao seguinte:

info_Rep  = new LoadVars();info_RETURN = new LoadVars();info_Rep.id = estado;info_Rep.sendAndLoad("teste.php",info_RETURN,"POST");info_RETURN.onLoad = function () {	qtd = this.x // variavel que vem do php	for (i=0; i<qtd; i++) {  attachMovie('infos', 'infos'+i, _root.mapa.getNextHighestDepth(), {_x:0, _y:0})  _root.mapa['infos'+i]._y  = _root.mapa['infos'+(i-1)]._y + _root.mapa['infos'+(i-1)]._height  _root.mapa['infos'+i].NUF.text	= i  _root.mapa['infos'+i].NOME.text	= this['NOME'+i]  _root.mapa['infos'+i].FONE.text	= this['FONE'+i]  _root.mapa['infos'+i].CEL.text	= this['CEL'+i]  //_root['infos'+i].onRelease = function () {  //}  trace(i)  trace(this['NOME'+i])  trace(this['NOME'+i])	} };

Eu coloquei pra testar 3 resultados fixos, com isso deveriam ser colcoados no palco 3 repetições do mc(infos2, infos2 ...) mas ao contrario disso me é mostrado no palco apenas 1 mc, com o resultado do ultimo loop.

 

Alguem ainda tem saco pra tentar resolver .. please?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ow ... qie saco .. o dia todo pra descobrir que _root.mapa.getNextHighestDepth() tava errado ... só coloquei i e funcionou ...Isso pode dar erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

dependendo do erro pode.....pq ele vai pegar o ultimo nivel do movioeclip ao qual você está se referenciando.....e depende de varias coisas...hehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.