..:: MX Studio Fóruns ::..: Area Restrita para Clientes Flash+XML AS2 [RESOLVIDO] - ..:: 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

Area Restrita para Clientes Flash+XML AS2 [RESOLVIDO] Como inserir comando para carregar os swfs

#1 User is offline   Luiz Paulo 

  • Group: Membros
  • Posts: 91
  • Joined: 18-January 07

Posted 01 December 2010 - 11:33 AM

Olá pessoal!
Continuando a buscar solução para meu sistema de login e senha para Área Restrita para Clientes, agradeço ao Speednos as dicas, mas com AS3 num vai rolar por enqto... o site ta todo em AS2.
Encontrei um sistema que me pareceu mais simples e que estou estudando, usando Flash e XML, como no link abaixo:

http://www.valdumond...h%20e%20XML.pdf

Depois de dar uma conferida nos códigos, não entendi como colocar, no "Passo 2", um comando para carregar o filme.swf referente ao login e a senha. Lá está assim:

//_______________________________________________________________________________
<?xml version="1.0" encoding="utf-8"?>
<rafael senha="123" link="www.rafael.com.br" />
<pedro senha="456" link="www.pedro.com.br"/>
//_______________________________________________________________________________


Se alguém souber como me ajudar a concluir essa paradinha, desde já agradeço muitoo.

Obrigado

Luiz Paulo
0

#2 User is offline   xanburzum 

  • Group: Administrador
  • Posts: 2077
  • Joined: 04-November 08

Posted 01 December 2010 - 02:29 PM

existe um artigo na seção de Flash, dá uma procurada nos artigos.
0

#3 User is offline   Luiz Paulo 

  • Group: Membros
  • Posts: 91
  • Joined: 18-January 07

Posted 01 December 2010 - 03:06 PM

Olá Xanburzum!

Procurei em tudo qto é artigo e não achei nada referente.

Obrigado

PS. Continuo procurando ajuda... agora de alguém que conheça bem de XML...
0

#4 User is offline   RONYTORRES 

  • Group: Moderadores
  • Posts: 385
  • Joined: 07-December 06

Posted 02 December 2010 - 03:10 PM

Caro Luiz Paulo, pelo que percebi o tutorial tá bem explicadinho. O que você não tá sabendo é como carregar um swf em outro? é isso?
0

#5 User is offline   Luiz Paulo 

  • Group: Membros
  • Posts: 91
  • Joined: 18-January 07

Posted 02 December 2010 - 03:54 PM

View PostRONYTORRES, on 02 December 2010 - 03:10 PM, said:

Caro Luiz Paulo, pelo que percebi o tutorial tá bem explicadinho. O que você não tá sabendo é como carregar um swf em outro? é isso?


Rony,

Muito obrigado por sua atenção!
Vou tentar ser mais claro... meus cabelos já estão ficando brancos com esse lance.



Tenho pesquisado muito sobre um sistema mais simples de login e senha pois meu conhecimento em AS ainda é pequeno.
Encontrei alguns em AS3 mas o site q estou fazendo está todo em AS2.
Recentemente encontrei um sistema que usa xml e achei interessante... está parcialmente funcionando no site no qual vou aplica-lo. Porém meus parcos conhecimentos em AS e xml me limitam.

No link:
http://www.valdumond...h%20e%20XML.pdf ,

tem todo o tutorial que estou usando.

Gostaria de adapta-lo de forma que, ao invés de "link" fosse algo como "loadMovie("clienteX.swf", "_root.palco)" e assim quem logasse carregaria o seu swf específico no mesmo lugar onde são carregados todos os filmes do site (_root.palco).

No tutorial tem uma parte que instrue assim:

// Aqui você edita para a ação que desejar, como por exemplo um getURL.

Então eu imagino que poderemos colocar uma ação de carregamento de filme no palco também.

No arquivo xml que vai para o servidor tem assim:
//_______________________________________________________________________________
<?xml version="1.0" encoding="utf-8"?>

<rafael senha="123" link="www.rafael.com.br" />

<pedro senha="456" link="www.pedro.com.br"/>

//_______________________________________________________________________________

E eu imagino que as linhas onde estariam os clientes poderia ficar assim, por exemplo:

<rafael senha="123" load="loadMovie("rafael.swf", "_root.palco)" />

De forma que ao se confirmarem nome e senha mandaria essa ação para o frame carregando o filme respectivo no palco.

Tentei de várias maneiras, mas não acerto as sintaxes e atribuições.

Baixar Flas, xml e as : http://www.megaupload.com/?d=1AWSRYH0

Se você puder me ajudar nessa, ficarei muito agradecido desde já´.

Obrigado

Luiz Paulo

Msn: galeraoanimado@hotmail.com
0

#6 User is offline   RONYTORRES 

  • Group: Moderadores
  • Posts: 385
  • Joined: 07-December 06

Posted 03 December 2010 - 04:21 PM

Luiz Paulo, acho que agora entendi o que você precisa, faz o seguinte, levando em consideração que seus SWF's que serão carregados tenham cada um o mesmo nome dos usuários, no XML, fica assim, como exemplo:

<?xml version="1.0" encoding="utf-8"?>

<rafael senha="123"/>

<pedro senha="456"/>



não precisa do atributo Link, pois demos usar o nome do nós, entendeu?

Em seguida lá no Flash , na camada Actions, ficaria assim:

//_______________________________________________________________________________
// Criamos a função "busca ()" que será chamada ao clicarmos no botão
function busca() {
	/*
	Criamos uma variável que vai comparar e um por um os nomes
	dos nós de nosso XML com o valor colocado no inputText
	*/
	var erro:Number = 0;
	// Ativamos a correção de acentos no nosso arquivo
	System.useCodepage = true;
	// Criamos uma variavel XML
	var meuXML:XML = new XML();
	// Carregamos o arquivo oculto vindo da nossa classe
	meuXML.load(_root.arquivo);
	// Ignoramos o espaçamento em branco do XML
	meuXML.ignoreWhite = true;
	// Estabelecemos o que acontecerá quando o XML for carregado
	meuXML.onLoad = function() {
		// Criamos uma variavel para recolher a quantidade de nos do nosso XML
		qnt = this.childNodes.length;
		// Criamos uma função que vai se repetir ate não existirem mais nós no XML
		// Ou seja, até que não existam mais nomes a serem comparados.
		for (i=0; i<qnt; i++) {
			// Recolhemos o nome e senha de cada usuário de nosso XML
			usuario = this.childNodes[i].nodeName;
			senha = this.childNodes[i].attributes.senha;
			// Verifica se o nome digitado é de algum usuário cadastrado
			if (usuario != user.text) {
				erro++;
				/*
				Se a quantidade de erros atingir a quantidade de usuários  do XML 
				significa que não existe aquele usuário digitado
				*/
				if (erro == qnt) {
					// Exibimos a informação de "Dados Inválidos"aviso.text = "Dados Inválidos";
				}
			}
			// Caso o usuário digitado bata com o usuário registrado...  
			if (usuario == user.text) {
				// Testamos para ver se o pass digitado bate com aquele usuário.
				if (senha == pass.text) {
					// Caso sim, exibimos a URL do usuário cadastrado:
					aviso.text = "Usuário Logado, aguarde...";
					//Aqui crio um tempo para dar a impressão ao cliente que os dados dele estão sendo carregados.
					var tempo = setTimeout(function () {
					//ao completar o tempo mando a timeline para o frame "cliente", pode ser nº também, onde lá vai ser carregado o SWF
					gotoAndStop("cliente");
					}, 3000);
					// Caso esteja errada....
				} else if (senha != pass.text) {
					// Exibimos a informação de "Dados Inválidos"
					aviso.text = "Dados Inválidos";
				}
			}
		}
	};
}
//_______________________________________________________________________________


E por fim no frame onde você faz o carregamento ficaria assim:

//Carregamos o SWF, utilizando o nome do usuário que está armazenado na variável "usuario" e adicionamos o getTimer,
//para evitar o cache do SWF, assim toda vez que o ele logar, carregará um novo SWF, sempre atualizado.
loadVariablesNum(usuario+".swf?"+getTimer(), _root.palco);


Olha, faz um tempinho que não uso mais AS2, mas dá uma tentada aí, vê se essa ideia resolve seu problema.
0

#7 User is offline   Luiz Paulo 

  • Group: Membros
  • Posts: 91
  • Joined: 18-January 07

Posted 03 December 2010 - 04:44 PM

Legal Rony... era isso mesmo...
Vou testar aqui pra ver

Obrigado

Luiz Paulo

Ps.: Vamos ter que encarar mesmo o AS3 rs Só ta dando ele agora.
0

#8 User is offline   RONYTORRES 

  • Group: Moderadores
  • Posts: 385
  • Joined: 07-December 06

Posted 03 December 2010 - 05:01 PM

View PostLuiz Paulo, on 03 December 2010 - 04:44 PM, said:

Legal Rony... era isso mesmo...
Vou testar aqui pra ver

Obrigado

Luiz Paulo

Ps.: Vamos ter que encarar mesmo o AS3 rs Só ta dando ele agora.


Blz! Tamu aí pra ajudar, qualquer coisa, me contacte no e-mail: ronytorres@toqueoriginal.com, estou aqui até as 17h30, depois disso meu amigo, só pingaiada, e só volto pra frente de computador na segunda..risssss
Abraços!
0

#9 User is offline   Luiz Paulo 

  • Group: Membros
  • Posts: 91
  • Joined: 18-January 07

Posted 04 December 2010 - 10:02 AM

View PostLuiz Paulo, on 03 December 2010 - 04:44 PM, said:

Legal Rony... era isso mesmo...
Vou testar aqui pra ver

Obrigado

Luiz Paulo

Ps.: Vamos ter que encarar mesmo o AS3 rs Só ta dando ele agora.


Fiz os testes mas o loadVariablesNum não carrega o swf do usuário no palco... acho que não está lendo a variável usuario corretamente...
Coloquei esse comando no frame sequinte ao frame da action principal acionada pelo gotoAndStop(9)... ele vai lá mas não carrega o filme no palco.
Troquei, pra testar, por loadMovie("pedro.swf", "_root.palco"); e carregou normal.
Outra coisa é que o aviso de Dados inválidos só aparece quando o nome e senha estão no log.xml... qualquer outro nome e senha, o aviso não aparece..

Bom... continuando a cultivar cabelos brancos...

Obrigado

Luiz Paulo
0

#10 User is offline   Luiz Paulo 

  • Group: Membros
  • Posts: 91
  • Joined: 18-January 07

Posted 05 December 2010 - 11:31 AM

Pessoal...
Ficou resolvido assim:

arquivo classeLogin.as
//_______________________________________________________________________________
// Criamos a classe e extendemos ela para a utilização em MovieClips
class classeLogin extends MovieClip {
// Criamos a função base que será chamada em nossos MovieClips
private function classeLogin () {
// Condicionamos o evento "onRelease" do MovieClip para a função "Release" criada logo abaixo.
this.onRelease = this.Release;
}
// Criamos uma função privada chamada "Release ()"
private function Release () {
// Criamos uma variável chamada arquivo que vai armazenar o nome do nosso arquivo XML
var arquivo:String = new String ();
// Estabelecemos o valor da variável "arquivo" com o nome de "log.xml" que será o nome do meu
XML
_root.arquivo = "log.xml"
// Executamos a função "busca ()" que progamaremos em nosso arquivo principal
_root.busca ();
}
}
/*
PORQUE CRIAR A CLASSE:
O propósito da criação desta classe é apenas de esconder o nome do nosso arquivo XML que
contém o login e a senha de cada usuário, assim como a página que será exibida para cada
usuário no momento em que ele for logado corretamente.
COMO FUNCIONA:
No momento em que clicarmos no botão será gerada uma variavel no palco com o nome de "log.xml",
e essa
variável vai ser recuperada pelo flash e utilizada para abrir o XML secreto.
*/
//_______________________________________________________________________________


Arquivo log.xml:
<?xml version="1.0" encoding="utf-8"?>
<rafael senha="123" arquivo="rafael.swf" />
<pedro senha="456" arquivo="pedro.swf" />


Actions no Frame:

//_______________________________________________________________________________
// Criamos a função "busca ()" que será chamada ao clicarmos no botão
function busca() {
	/*
	Criamos uma variável que vai comparar e um por um os nomes
	dos nós de nosso XML com o valor colocado no inputText
	*/
	var erro:Number = 0;
	// Ativamos a correção de acentos no nosso arquivo
	System.useCodepage = true;
	// Criamos uma variavel XML
	var meuXML:XML = new XML();
	// Carregamos o arquivo oculto vindo da nossa classe
	meuXML.load(_root.arquivo);
	// Ignoramos o espaçamento em branco do XML
	meuXML.ignoreWhite = true;
	// Estabelecemos o que acontecerá quando o XML for carregado
	meuXML.onLoad = function() {
		// Criamos uma variavel para recolher a quantidade de nos do nosso XML
		qnt = this.childNodes.length;
		// Criamos uma função que vai se repetir ate não existirem mais nós no XML
		// Ou seja, até que não existam mais nomes a serem comparados.
		for (i=0; i<qnt; i++) {
			// Recolhemos o nome, senha e arquivo de cada usuário de nosso XML
			usuario = this.childNodes[i].nodeName;
			senha = this.childNodes[i].attributes.senha;
			arquivo = this.childNodes[i].attributes.arquivo;
			// Verifica se o nome digitado é de algum usuário cadastrado
			if (usuario != user.text) {
				erro++;
				/*
				Se a quantidade de erros atingir a quantidade de usuários do XML
				significa que não existe aquele usuário digitado
				*/
				if (erro == qnt) {
					// Exibimos a informação de "Dados Inválidos"
					aviso.text = "Dados Inválidos";
				}
			}
			// Caso o usuário digitado bata com o usuário registrado...       
			if (usuario == user.text) {
				// Testamos para ver se o pass digitado bate com aquele usuário.
				if (senha == pass.text) {
					// Caso sim, exibimos a URL do usuário cadastrado:
					// Aqui você edita para a ação que desejar, como por exemplo um getURL.
					aviso.text = "Usuário Logado";
					palco.loadMovie(arquivo);
					// Caso esteja errada....
				} else if (senha != pass.text) {
					// Exibimos a informação de "Dados Inválidos"
					aviso.text = "Dados Inválidos";
				}
			}
		}
	};
}
//_______________________________________________________________________________


Meus agradecimentos ao Natan, ao Rony e a todos que participaram.

Luiz Paulo
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)