Ir para conteúdo

POWERED BY:

Arquivado

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

lightium

interagir Flash com PHP em As2.

Recommended Posts

Olá pessoal...

 

Aqui estou eu, mais uma vez levando em consideração a boa vontade dos participantes deste fórum.

 

Infelizmente abandonei o Flash e o Actionscript, já faz algum tempo e neste período, me dediquei ao PHP, por isso tenho uma boa noção de como programar, só que agora eu gostaria muito de interagir Flash com PHP.

 

Andei pesquisando a respeito e encontrei muitas informações.

 

Pretendo utilizar As2, pois infelizmente ainda não tive tempo o suficiente para aprender As3.

 

Basicamente eu compreendo o conceito de que o PHP trabalha no servidor e da o resultado para o usuário, já o Flash trabalha unicamente no cliente. Bem, então neste caso eu acredito que eu deva imprimir as variáveis na tela, ou de alguma outra forma, fazer com que as variáveis vindas do PHP no servidor passem para o Flash.

 

No meio disso tudo eu fiquei imaginando, qual a utilidade especifica do XML. Vi alguns tutoriais onde o PHP armazena as informações em um arquivo neste formato para depois o Flash ler, isso eu consigo compreender, mais e caso eu queira usar Mysql, eu teria a necessidade de usar XML?

 

Também pensei, como eu poderia organizar as variáveis do PHP e fazer o Flash compreender, qual é qual, pois por exemplo, se eu imprimir elas na tela, como o Flash vai saber.

 

Ainda estou muito perdido, muito mesmo.

 

Procurei alguns tutoriais a respeito do assunto e a maioria dos que encontrei estão fora do ar.

 

Alguém poderia me ajudar, por onde devo começar?

 

Será mesmo necessário usar XML? Ou devo esquecer dele?

 

Todos os tutoriais que li, envolvem XML, me parece que é somente com ele é possível transferir as informações e fazer com que o Flash possa compreendê-las. Estou certo?

 

Basicamente eu quero uma forma simples e pratica de passar as variáveis do PHP para o Flash e fazer com que ele as compreenda, e também passar arrays completas, como por exemplo, pegar o resultado de uma consulta no banco de dados MySql, que foi armazenado em várias arrays e passar tudo para o Flash.

 

Também vi um outro método, que segue abaixo:

 

$var= 'teste';

 

echo '&minhavar='.$var;

 

Desta forma o PHP irá imprimir &minhavar=teste, assim eu consigo fazer com que o Flash interprete esta variável minha_var como sendo a string "teste"?

 

Um grande abraço e desde já, muito obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Flash lê a página resultante do PHP como você disse. O ponto em questão, então, é como 'decifrar' estas informações, ou seja, como você poderá trabalhá-las no Flash. Você pode receber estas informações de 3 formas (ou formatos): Variáveis, XML e AMF.

 

Variáveis

As variáveis, como deve ter percebido nos seus estudos, é a forma (teoricamente) mais simples. Segue um exemplo.

No PHP:

foo1=nonono&foo2=nonono&foo3=1,2,3
No Flash:
var variaveis:LoadVars = new LoadVars();
variaveis.load("minhapagina.txt");
variaveis.onLoad = function(sucesso) {
	if (sucesso) {
		trace(this.foo1);
		trace(this.foo2);
		var foo3A:Array = this.foo3.split(",") // Transformando a String em Array, separando-a pelas vírgulas
		trace(foo3A[0]); 
		trace(foo3A[1]);
		trace(foo3A[2]);
	} else trace("erro ao carregar a página.");
}

XML

O XML serve "apenas" para organizar suas informações. Considere, por exemplo, uma quantidade indefinidas de informações. Afinal, você não sabe quantas informações o seu MySQL vai retornar. Segue um exemplo.

No PHP:

<foos>
	<foo id="1">nonono</foo>
	<foo id="2">nonono</foo>
	<foo id="3">1,2,3</foo>
	<foo id="4" />
	<foo id="5" />
</foos>
No Flash:
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.load("minhapagina.txt");
xml.onLoad = function(sucesso) {
	if (sucesso) {
		var raiz:Array = this.childNodes[0];
		for (var i:Number = 0; i < raiz.childNodes.length; i++) {
			trace(raiz.childNodes[i].attributes.id + " " + raiz.childNodes[i].childNodes);
		}
	} else trace("erro ao carregar a página.");
}

AMFPHP

O AMFPHP é uma implementação do formato AMF (Action Message Format) para PHP. Ele serve para se criar uma "conexão direta" com classes em PHP (sem o intermédio de uma página propriamente dita) onde os resultados são tipos de dados do próprio Flash. Ou seja, quando você fizer uma requisição ao banco de dados, os resultados poderão ser do tipo String, Array, Object, ou outros que você mesmo pode definir.

 

A explicação da utilização desta classe seria um pouco extensa, principalmente para AS 2 que não tem suporte nativo como em AS 3. Por isso, fica uns links caso seja do seu interesse, ou, então, procure por "Flash Remoting".

 

Documentação oficial - http://www.amfphp.org/docs2/index.html

Componentes da Macromedia para conexão remota - http://www.adobe.com/products/flashremotin...ads/components/

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.