Publicidade
|
|
Area Restrita para Clientes Flash+XML AS2 [RESOLVIDO] Como inserir comando para carregar os swfs
#1
Posted 01 December 2010 - 11:33 AM
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
#2
Posted 01 December 2010 - 02:29 PM
#3
Posted 01 December 2010 - 03:06 PM
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...
#4
Posted 02 December 2010 - 03:10 PM
#5
Posted 02 December 2010 - 03:54 PM
RONYTORRES, on 02 December 2010 - 03:10 PM, said:
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
#6
Posted 03 December 2010 - 04:21 PM
<?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.
#7
Posted 03 December 2010 - 04:44 PM
Vou testar aqui pra ver
Obrigado
Luiz Paulo
Ps.: Vamos ter que encarar mesmo o AS3 rs Só ta dando ele agora.
#8
Posted 03 December 2010 - 05:01 PM
Luiz Paulo, on 03 December 2010 - 04:44 PM, said:
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!
#9
Posted 04 December 2010 - 10:02 AM
Luiz Paulo, on 03 December 2010 - 04:44 PM, said:
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
#10
Posted 05 December 2010 - 11:31 AM
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
Share this topic:
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
tinta para Bulk Ink batizada
|
Processos Gráficos |
trindade
|
|
|
|
Internet é saída para imprensa censurada no Paquistão
|
Notícias |
Notícias
|
|
|
|
Como se salvar um arquivo ico
Como se salvar um arquivo ico |
Photoshop & Image Ready |
luizofgod
|
|
|
|
MP5 roda música, vídeo, foto e serve como pendrive
|
Notícias |
Notícias
|
|
|
|
Importar font para o fireworks
como eu faço |
Fireworks |
Gleison
|
|
|
|
Como E Onde Aprender Efeitos De Brilho, Sombra, Reflexo?
|
Photoshop & Image Ready |
Julio B.
|
|
|
|
Google atualiza aplicativo do Gmail para celulares com Android
|
Notícias |
Notícias
|
|
|
|
Apple Store deixará de vender protetor de tela para iPhone
|
Notícias |
Notícias
|
|
Publicidade
|
|

Help













