Ir para conteúdo

POWERED BY:

Arquivado

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

ana rob

Site xml e flash

Recommended Posts

Montei um site em flash, que carrega um arquivo xml sobre noticias...

Ao clicar no "read more" gostaria que abrisse no mesmo quadro do flash o item solicitado.E possivel?

 

obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim. Você pode adicionar mais um "node" no seu XML, sendo um para o título ou breve descrição da notícia. E no link desejado você chama o "node" correspondente a íntegra da notícia...

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hoje ele encaminha para uma nova url e não quero assim...gostaria apenas de ampliar o texto a ser mostrado

var flashmo_item_list = new Array();
var flashmo_item_group:MovieClip = new MovieClip();

var item_width:Number = flashmo_mask.width;
var item_height:Number = 0;
var item_spacing:Number = 15;
var item_padding:Number = 10;

var i:Number;
var total:Number;
var flashmo_xml:XML = new XML();
var xml_loader:URLLoader = new URLLoader();
xml_loader.load( new URLRequest("flashmo_143_news_list.xml") );
xml_loader.addEventListener(Event.COMPLETE, push_array);

function push_array(e:Event):void 
{
	flashmo_xml = XML(e.target.data);
	total = flashmo_xml.item.length();

	for( i = 0; i < total; i++ )
	{
		flashmo_item_list.push( {
			title: flashmo_xml.item[i].title.toString(), 
			url: flashmo_xml.item[i].url.toString(), 
			target: flashmo_xml.item[i].target.toString(), 
			description: flashmo_xml.item[i].description.toString()
		} );
	}
	create_item_list();
}

function create_item_list():void
{
	for( i = 0; i < total; i++ )
	{
		var flashmo_item = new MovieClip();
		
		flashmo_item.addChild( create_item_title( flashmo_item_list[i].title ) );
		flashmo_item.addChild( create_item_desc( flashmo_item_list[i].description ) );
		flashmo_item.addChildAt( create_item_button( flashmo_item.height, i ), 0 );
		flashmo_item.addChildAt( create_item_bg( flashmo_item.height ), 0 );
		
		flashmo_item.y = item_height;
		item_height += flashmo_item.height + item_spacing;
		
		flashmo_item_group.addChild( flashmo_item );
	}
	
	this.addChild( flashmo_item_group );
	flashmo_mask.width = item_width;
	flashmo_item_group.mask = flashmo_mask;
	
	flashmo_sb.scrolling("flashmo_item_group", "flashmo_mask", 0.60);	// ScrollBar Added
}

function create_item_button( h:Number, item_no:Number )
{
	var fm_button = new flashmo_news_button();
				
	fm_button.x = item_padding;
	fm_button.y = h + item_padding * 2;
	fm_button.name = "flashmo_" + item_no;
	fm_button.addEventListener( MouseEvent.CLICK, goto_URL );
	
	return fm_button;
}

function goto_URL(me:MouseEvent)
{
	var url_button:SimpleButton = me.target as SimpleButton;
	var no:Number = parseInt( url_button.name.slice(8,10) );
	navigateToURL( new URLRequest( flashmo_item_list[no].url ), flashmo_item_list[no].target );
}

function create_item_bg( h:Number )
{
	var fm_rect:Shape = new Shape();
	
	fm_rect.graphics.beginFill(0x000000, 0.2);	// ITEM BACKGROUND COLOR
	fm_rect.graphics.drawRoundRect(0, 0, item_width, h + item_padding * 2, 15);
	fm_rect.graphics.endFill();
	
	return fm_rect;
}

function create_item_title( item_title:String )
{
	var fm_text = new TextField();
	
	fm_text.defaultTextFormat = fm_title_format;
	fm_text.x = fm_text.y = item_padding;
	fm_text.width = item_width - item_padding * 2;
	fm_text.text = item_title;
	fm_text.selectable = false;
	fm_text.autoSize = TextFieldAutoSize.LEFT;
	
	return fm_text;
}

function create_item_desc( item_desc:String )
{
	var fm_text = new TextField();
	
	fm_text.defaultTextFormat = fm_desc_format;
	fm_text.x = item_padding;
	fm_text.y = 25 + item_padding;
	fm_text.width = item_width - item_padding * 2;
	fm_text.text = item_desc;
	fm_text.multiline = true;
	fm_text.wordWrap = true;
	fm_text.selectable = false;
	fm_text.autoSize = TextFieldAutoSize.LEFT;
	
	return fm_text;
}

var fm_title_format:TextFormat = new TextFormat();
fm_title_format.font = "Trebuchet MS";
fm_title_format.color = 0xFFFF99;	// TITLE TEXT COLOR
fm_title_format.size = 14;
fm_title_format.bold = true;

var fm_desc_format:TextFormat = new TextFormat();
fm_desc_format.font = "Trebuchet MS";
fm_desc_format.color = 0xA09F67;	// DESCRIPTION TEXT COLOR
fm_desc_format.size = 11;
fm_desc_format.align = TextFormatAlign.JUSTIFY;
fm_desc_format.leading = 2;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi ana, quando for adicionar códigos em seus posts fica legal se usar a tag code.

 

Basta acionar o ícone <> e colar o código entre a abertura e o fechamento, isso favorece a leitura, adicionando cores e identação.

 

function btn_enter(e:Event):void
{
	var mc = e.target;
	if( mc.over == true )
		mc.nextFrame();
	else
		mc.prevFrame();
}

O mesmo para o XML:

 

<?xml version="1.0" encoding="utf-8"?>
<items>
	<item>
		<title>News Item One</title>
		<url>http://www.flashmo.com</url>
		<target>_parent</target>
		<description>
		Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc quis sem nec tellus blandit tincidunt.Duis
vitae velit sed dui malesuada dignissim. Donec mollis aliquet ligula. Maecenas adipiscing elementum ipsum.
Pellentesque vitae magna.
		</description>
	</item>

 

Abraços

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.