Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.04.2011, 19:34
Likoniko вне форума Посмотреть профиль Отправить личное сообщение для Likoniko Найти все сообщения от Likoniko
  № 1  
Ответить с цитированием
Likoniko

Регистрация: Dec 2010
Сообщений: 81
По умолчанию Открыть, прочитать файл и создать мувиклип

Идея такая : У меня в файле написано
{
news1
}
{
news2
}
и.т.д

Надо чтоб когда открывалась скобка , флэш создовал мувиклип и внутрь мувиклипа (в текстфилд ) вписовал бы то что должно было вместо news. Проблема в том, как рассположить мувиклипы друг под другом и как вписывать в поля? Не ну понятно что прировнять результат к полю, а если мне надо динамично? Не залезать же в флэш и создовать каждый раз новое поле.

Старый 10.04.2011, 19:51
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 2  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
ну как вариант (не самый плохой), вместо фигурных скобок воспользоваться форматом данных XML

Старый 10.04.2011, 19:56
Likoniko вне форума Посмотреть профиль Отправить личное сообщение для Likoniko Найти все сообщения от Likoniko
  № 3  
Ответить с цитированием
Likoniko

Регистрация: Dec 2010
Сообщений: 81
дайте пример пожалуйста, я вообще 0

Старый 10.04.2011, 19:58
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 4  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Код:
<?xml version='1.0' encoding='UTF-8'?>
<news>
	<newsBlock>Новостной блок номер 1</newsBlock>
	<newsBlock>Новостной блок номер 2</newsBlock>
</news>

Старый 10.04.2011, 20:24
Likoniko вне форума Посмотреть профиль Отправить личное сообщение для Likoniko Найти все сообщения от Likoniko
  № 5  
Ответить с цитированием
Likoniko

Регистрация: Dec 2010
Сообщений: 81
попробую ну а что это изменит?

Старый 10.04.2011, 21:13
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Вам не придётся писать собственный парсер, к примеру.

Старый 10.04.2011, 21:13
carrotoff вне форума Посмотреть профиль Отправить личное сообщение для carrotoff Найти все сообщения от carrotoff
  № 7  
Ответить с цитированием
carrotoff
 
Аватар для carrotoff

Регистрация: May 2010
Сообщений: 543
Цитата:
попробую ну а что это изменит?
В первую очередь, изменит это подход с Вашего на человеческий.

Цитата:
а если мне надо динамично? Не залезать же в флэш и создовать каждый раз новое поле.
Ну вся идея как раз в том и состоит, что вы прогружаете XML, считаете сколько Вам необходимо блоков, и создаете их. И редактировать (надеюсь, формировать динамически) нужно будет именно XML, а не трогать код AS

Старый 10.04.2011, 22:02
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 8  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Искренни надеюсь что этот пример, состряпанный на скорую руку Вам поможет.
Код AS3:
		public function test() {
			var xml:XML = new SomeXML();
			var xmlNodes:XMLList = xml.newsBlock;
			var i:int = xmlNodes.length();
			while (i--) {
				var clip:MovieClip = new SomeClip();
				var textField:TextField = clip.getChildByName("someTextField") as TextField;
				textField.text = xmlNodes[i].toString();
				clip.x = 100 * i;
				addChild(clip);
			}
		}

Старый 10.04.2011, 22:19
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 9  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Main.as:
Код AS3:
package 
{
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.URLLoader;
	import flash.net.URLLoaderDataFormat;
	import flash.net.URLRequest;
	import flash.text.TextField;
 
	public class Main extends Sprite
	{
		public function Main()
		{
			var urlLoader:URLLoader = new URLLoader(new URLRequest("news.xml"));
			urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
			urlLoader.addEventListener(Event.COMPLETE, _onXmlLoaded)
		}
 
		private function _onXmlLoaded(e:Event):void 
		{
			var xml:XML = new XML((e.target as URLLoader).data);
 
			_buildTextFiels( xml.news.newsBlock );
		}
 
		private function _buildTextFiels( newsBlocks:XMLList ):void
		{
			var i:int = -1;
			var l:int = newsBlocks.length();
			while( ++i < l )
			{
				var txtNews:TextField = new TextField();
				txtNews.width = 400;
				txtNews.height = 40;
				txtNews.border = true;
				txtNews.text = newsBlocks[i];
 
				var mcNewsContainer:MovieClip = new MovieClip();
				mcNewsContainer.x = 10;
				mcNewsContainer.y = 10 + 50 * i;
				mcNewsContainer.addChild( txtNews );
 
				this.addChild( mcNewsContainer );
			}
		}
	}
}
news.xml:
Код:
<?xml version="1.0" encoding="utf-8" ?>
<data>
	<news>
		<newsBlock>Новостной блок номер 1</newsBlock>
		<newsBlock>Новостной блок номер 2</newsBlock>
		<newsBlock>Новостной блок номер 3</newsBlock>
	</news>
</data>


Последний раз редактировалось i.o.; 10.04.2011 в 22:21.
Старый 11.04.2011, 08:40
Likoniko вне форума Посмотреть профиль Отправить личное сообщение для Likoniko Найти все сообщения от Likoniko
  № 10  
Ответить с цитированием
Likoniko

Регистрация: Dec 2010
Сообщений: 81
всем спасибо

Добавлено через 24 минуты
как только добавить свой мувиклип?

Добавлено через 11 часов 44 минуты
помогите вставить свой мувиклип

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:51.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.