Ir para conteúdo

POWERED BY:

Arquivado

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

leandroguimaraes

Problema indescritível

Recommended Posts

Bom pessoal, hoje eu venho com um problema do tamanho do mundo, portanto, gostaria de deixar claro que o que eu busco aqui não é uma solução, apenas um auxílio, portanto, já agradeço desde já a todos que tiverem pelo menos a paciência de ler toda a minha explicação, que ficará extensa creio eu.

A coisa é meio complexa (pelo menos me parece) mas vou tentar explicar o melhor possível.

 

Bom... eu faço estágio na área de criação de layouts, animações e diagramação de conteúdo para projetos de ensino a distância (cursos online, basicamente). A ferramenta padrão que eu uso é o Flash 8. Bom, tudo começou quando resolvi fazer uma mudança na maneira de criar os cursos, pois antes eu criava cada tela e salvava como um arquivo swf separado. A mudança foi que eu resolvi fazer um swf apenas com várias telas e animações e cenas, de modo que cada tela de um dado módulo de um dado curso ficasse a partir de então, alojada em um frame. Antes, no modelo de telas separadas, a navegação se dava diretamente pelo Moodle, que é um ambiente de ensino a distância, mas para simplificar muito o entendimento, imagine como uma página HTML com um botão de "Avançar" e "Voltar", de modo que o botão "Avançar" carregava a tela seguinte e o botão "Voltar", obviamente, voltava a tela anterior.

Com o novo modelo, de várias telas em apenas um arquivo swf, essa navegação passou a acontecer diretamente pelo arquivo swf, por meio de botões (vou disponibilizar amostras, para deixar tudo mais claro).

No fim das contas, esse curso ficou com 15 arquivos swf's (1 de introdução, 13 módulos e 1 de créditos) lembrando que dentro de cada swf existem várias telas.

 

Bom... o problema é o seguinte... antes o administrador da plataforma onde os arquivos swf dos cursos ficam hospedados, tinha um contrle de em qual tela o aluno parou, demodo que quando ele fizesse login na plataforma, e clicasse no curso que ele já havia iniciado, ele seria automaticamente enviado para a tela em que ele parou, o que passou a não ser mais possível, visto que agora existem várias telas reunidas em apenas uma arquivo swf, e, acredito, não existe maneira de estabelecer essa comunicação.

 

Temo que apesar do meu esforço de descrever a situação, ela não tenha ficado totalmente clara ainda... mas caso alguém tenha entendido, poderia me ajudar com alguma idéia, por mais complexa que seja, pois essa nova maneira que passei a usar para desenvolver os cursos é muito mais prática e garante uma qualidade muito superior se comparado com a maneira antiga, e, portanto, gostaria de continuar criando os próximos dessa mesma maneira.

 

Bom, para todos que puderem ajudar com a doação de idéias, eu agradeço mesmo!

 

Um abraço a todos, abaixo vão os links para ajudar no entendimento das coisas:

 

Modelo novo, várias telas em uma:

http://megaswf.com/view/2d6cca7ccc2c4ae8fbbc9764ef650309.html

 

Modeo antigo, tela única:

http://megaswf.com/view/b573dcdb1f6fcb87e390fd6899307b0a.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, se da maneira anterior de alguma forma você sabia em que "tela/swf/página" o usuário parou, é porque o administrador de alguma forma armazenava essa informação.

Agora com várias "Scenes" no mesmo swf, você também deverá armazenar a informação em algum lugar. Pode trabalhar com "Cookies" e em cada "Scene" que o usuário acessar, vai atualizando o "Cookie". No próximo acesso, faz a leitura do "Cookie", trata a informação e envia a "Scene" onde parou, já que o acesso é permitido mediante identificação.

Eu particularmente não gosto dos "Cookies" porque fica dependente da configuração do navegador do usuário... Mas outra forma de armazenar as informações seria em uma base de dados por exemplo.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem que ser em AS2??

 

Se você puder utilizar as3 tenho uma maneira. Mas em AS3. É meio extensa também então para não falar em vão aguardo sua resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Public2004, no caso o controle no modelo de telas avulsas era mais fácil, pois, a cada tela .swf era colocada em uma página HTML diferente, de modo que o aluno passava as telas por meio de botões "avançar" e "voltar" na própria página HTML. Portanto, a informação guardada pelo administrador é, no caso, em que página HTML o usuário parou (e como cada tela .swf está em uma página diferente, ele sabe em que tela o usuário parou).

Quanto aos cookies, por falta de conhecimento de minha parte, eu não consegui nem mesmo entender a sugestão.

 

J. Santos, infelizmente não posso usar o AS3, pois a empresa só possui o flash 8, que não tem suporte AS3.

 

De qualquer forma, valeu mesmo pelas tentativas pessoal.

Caso alguém tenha uma idéia nova, será muito bem-vinda também!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O "Cookie" nada mais é do que um arquivo texto gerado pelo script server-side (ASP ou PHP por exemplo) que armazena informações diversas como por exemplo preferências de navegação, dados pessoais, etc... Muito utilizado em lojas virtuais, e felizmente também é possível com o Flash gerar e ler estes arquivos, mas como disse antes eu não gosto muito por que fica dependente da configuração do navegador do usuário onde o mesmo pode boquear estes. Caso tenha mais interese pelos Cookies, pesquise por "SharedObjects". A finalidade seria a cada "Scene" acessada, atualizar este "Cookie" guardando a informação da respectiva "Scene". E no próximo acesso, primeira coisa é ler o "Cookie" para verificar em qual "Scene" parou e continuar a partir dela...

 

A outra sugestão que dei foi, já que o Administrador de alguma forma armazena a informação da página que está, é porque utiliza um script server-side para tal, então basta seguir a mesma idéia.

No caso a cada "Scene" acessada, através do método "send" do "LoadVars" você chama um sccript server-side enviando uma variável por exemplo. Este script pegaria esta variável e armazenaria em um banco de dados, e assim sucessivamente para cada "Scene" acessada, sempre atualizando o BD.

Nos próximos acessos, basta antes de qualquer coisa, consultar o BD e verificar em qual "Scene" parou para continuar, devolvendo ao Flash a variável em questão e direcionando a respectiva "Scene".

 

Bom não sei se mais esclareci do que confundi, e talvez outros colegas tenham idéias melhores.

 

Att.

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.