Apr
27

Integração de Flash CS3 com Flex 2: Binding e partilha de VOs

Estive a fazer uns testes de integração de componentes SWC feitos em Flash CS3 no Flex 2, com o objectivo de dissipar algumas das dúvidas que eu tinha que não são explicadas na apresentação disponível no labs.

O meu objectivo era perceber como fazer bind numa aplicação Flex 2 a uma propriedade de um componente feito em Flash CS3, e ainda se seria possível trocar um VO entre ambos usando o mesmo ficheiro de definição do VO - algo que já imaginava que fosse possível, mas queria confirmar.

Coloquei os resultados aqui, e o código fonte aqui. Arrastando o conteúdo Flash (à esquerda), vê-se que a label do Flex actualiza o seu texto através do binding à variável posx, que define a posição x do movieclip.

Para conseguir isto - graças ao João Fernandes -, foi necessário criar um setter e um getter na stub class FlashScroller.as (que é compilada com o FLA no Flash CS3) com o seguinte código:


[Bindable('posXChanged')]
public function set posx(n:Number):void
{

	if (_posx==n)
		return;

	_posx=n;
	dispatchEvent( new Event(’posXChanged’) );

}

public function get posx():Number
{

	return _posx;

}

A partir daqui, para fazer bind no Flex à propriedade posx no componente Flash CS3 é como fazer bind a outra coisa qualquer: text=”{flashscroller.posx}”.

Relativamente à troca do VO, o código fala praticamente por si. A única coisa que é necessário ter em atenção, é a necessidade de adicionar a directoria que tem os VOs à classpath no Flash CS3.

1 Comment

Make A Comment

Comments RSS Feed   TrackBack URL

Leave a comment

top