• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

watt

flash + html + php ... importar pagina .php para o flah

9 mensagens neste tópico

Boas pessoal!

gostaria de saber como posso importar uma lista de artigos para dentro do flash ... tinha pensado em importar umas pagina php para dentro do flash, é possível ?

Alguem sabe como posso fazr algo do genero ?? a ideia é importar ums lista de artigos (tipo os da chip7) para dentro do me projecto flash.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

então a dificuldade é?... lá esta tudo explicado (sem eles saberem).

1º usas php para gerar a lista xml que precisas.

2º importas os dados para o flash usando o fich xml.

é como fazer uma galeria de imagens dinamica mas com produtos, nada de mais, tenho por aqui algures um tut de como faze-lo, faz uma pesquisa

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ya essa parte de gerar o xml é não é complicado. o meu prob é mesmo o resto. o q tenho axado na net é o componente pago :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema é ler o XML no flash? Ou arquitectar o do sistema carrinho de compras?

Em AS3 é muito simples ler e aceder ao conteúdo de um xml agora que tem suporte nativo com E4X.

Utilizando o exemplo da wiki:

<sales vendor="John">
    <item type="peas" price="4" quantity="6"/>
    <item type="carrot" price="3" quantity="10"/>
    <item type="chips" price="5" quantity="3"/>
  </sales>;

AS3:

var loader:URLLoader = new URLLoader();

loader.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest(http://odominio.pt/buscaDados.php));

function completeHandler(evt:Event):void
{
      var info:XML = XML(evt.target.data);
      //retorna um XMLList contendo o valor do atributo "quantity" 
      //para os elementos cujo tipo seja "carrot"
      trace(info.item.(@type == "carrot").@quantity.toXMLString()); //Outuput: 10

}

+info -> http://www.sephiroth.it/tutorials/flashPHP/E4X/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não... é fazer a lsita dinamica onde aparece uma foto e um texto, com uma scroll

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para os elementos da lista crias um movieclip com o layout que queres; fundo, caixa de texto. Na library indicas uma classe para o movieclip. Esse vai ser o elemento base que vais adicionar a um container (Sprite/MovieClip) quando percorres os dados vindos do XML. O scroll vai ser feito sobre esse container.

A classe do elemento base pode ser algo do género:

package
{
import flash.display.DisplayObject;
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.events.Event;

public class ListItem extends MovieClip
{
	private var _legenda:TextField;
	private var _imagem:DisplayObject;
	//Instância que vai carregar a imagem cujo url é dado ao elemento
	private var _imageLoader:Loader;

	public function ListItem()
	{
		initUI();
		//Adicionar a função que vai ser chamada quando a imagem carregar
		_imageLoader.addEventListener(Event.COMPLETE, completeHandler);
	}

	//Métodos visíveis do exterior
	public function dados(url:String, label:String):void
	{
		//Define o texto que aparece na caixa de texto
		_legenda.text = label;
		//Faz o pedido da imagem
		_imageLoader.load(new URLRequest(url));
	}

	//Métodos internos do elemento
	private function completeHandler(evt:Event):void
	{
		//Faz o cast do conteúdo carregado para um datatype (tem que pertencer a ele)
		//que possa ser adicionado à displaylist do elemento
		var imagem:DisplayObject = evt.target.content as DisplayObject;
		addChild(imagem);
		//Posiciona a imagem
		posicionaImagem(40, 40);
	}

	private function posicionaImagem(x:int, y:int):void
	{
		_imagem.x = x;
		_imagem.y = y;
	}
}
}

Assim para adicionares elementos basta:

var elemento:ListItem = new ListItem();
elemento.dados("imagens/01.jpg", "Logo P@P");
umContainer.addChild(elemento);

Obviamente convém teres uma referncia do elemento anterior para o colocar este  a seguir ao anterior.

Para evitar este trabalho "por fora" podias criar uma classe para o container que internamente "faria" esta gestão por ti, depende se está + ou - à vontade com conceitos POO e eventualmente o eventos.

Quanto ao scrollbar podes ver esta série de tutoriais no gotoAndLearn() em como criar um.

->Parte1

->Parte2

Estes tutoriais fazem uma abordagem de POO por isso podes aproveitar alguns conceitos para o que falei antes.

Espero que seja isto que procuras.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora