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

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

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

Регистрация: Dec 2008
Сообщений: 5
Arrow Из текста - кнопку

Подскажите пожалуйста как текстовое поле можно обратить в кнопку
с урл заданным в одном из детёенышей этого текста

код:
Код AS1/AS2:
var newsXML:XML = new XML();
newsXML.ignoreWhite = true;
var output:String = "";
 
newsXML.onLoad = function(success) {
	if (success) {
		var news:Array = newsXML.firstChild.childNodes;
		for(i=0;i<news.length;i++) {
			output += "<b>";
			output += news[i].childNodes[0].firstChild.nodeValue;
			output += "</b> - <i>";
			output += news[i].childNodes[1].firstChild.nodeValue;
			output += "</i>\n";
			output += news[i].childNodes[2].firstChild.nodeValue;
			output += "\n\n";
		}
		news_txt.htmlText = output;
 
	}
	else
	{
		news_txt.text = "XML file did not load.";
	}
}
 
newsXML.load("news4.xml");
сейчас сама ссылка береться от сюда
Код AS1/AS2:
news[i].childNodes[2].firstChild.nodeValue;
в итоге должно получится кнопка с текстом состоящим из первых двух переменных и переходм при нажатии по адресу из третей переменной

заранее спасибо

Старый 05.12.2008, 21:22
urasfinks вне форума Посмотреть профиль Отправить личное сообщение для urasfinks Найти все сообщения от urasfinks
  № 2  
Ответить с цитированием
urasfinks

Регистрация: Mar 2008
Сообщений: 34
Ты создавай програмно муви клип(createMovieClip) и уже в этом клипе создавай текстовое поле(createTextField). Потом к клипу привязывай свойства onRelease, onPress...и подобные. Не понимаю в чём проблема...Ах да если у тебя много будет кнопок используй Eval() что бы взять ссылку на клип.

Старый 05.12.2008, 21:49
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 3  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Код AS1/AS2:
news_txt.htmlText = '<a href="'+переменная3+'">'+перем1+перем2+'</a>';

Старый 06.12.2008, 14:27
l2net вне форума Посмотреть профиль Отправить личное сообщение для l2net Найти все сообщения от l2net
  № 4  
Ответить с цитированием
l2net
 
Аватар для l2net

Регистрация: Dec 2008
Сообщений: 5
так как кнопок планирутся около 20-30
то решено было (по совету urasfinks) создавать под каждую отдельное текствое поле со своим содержанием и ссылкой.
но так как во флеше новичок, возникли проблеммы - текстовая часть составляется, но не выводить в новосозданное поле . Помогите советом пожалуйста

Код AS1/AS2:
var newsXML:XML = new XML();
newsXML.ignoreWhite = true;
var output:String = "";
 
newsXML.onLoad = function(success) {
	if (success) {
		var news:Array = newsXML.firstChild.childNodes;
		this.createEmptyMovieClip("txt_mc",0);		
		for(i=0;i<news.length;i++) {
 
			output += "<b>";
			output += news[i].childNodes[0].firstChild.nodeValue;
			output += "</b> - <i>";
			output += news[i].childNodes[1].firstChild.nodeValue;
			output += "</i>";
 
			txt_mc.createTextField("txt_name" , 1, 0, 0, 150, 10);
			txt_name.htmlText = output;
			trace (output);
			//txt_name.url = news[i].childNodes[2].firstChild.nodeValue;
 
		}
 
	}
	else
	{
 
	}
}
 
newsXML.load("news4.xml");
содержание news4.xml:
Код:
<?xml version="1.0" encoding="utf-8"?>
<news>

	<story>
		<title>Интеграция ХМЛ во Флеш</title>
		<date>18 ноября 2006</date>
		<url><http://google.com</url>
	</story>


</news>


Последний раз редактировалось l2net; 06.12.2008 в 14:52.
Старый 06.12.2008, 17:21
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 5  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Код:
var newsXML:XML = new XML();
newsXML.ignoreWhite = true;
var output:String = "";
 
newsXML.onLoad = function(success) {
    if (success) {
        var news:Array = newsXML.firstChild.childNodes;
        _root.createEmptyMovieClip("txt_mc",0);        
        for(i=0;i<news.length;i++) {
 
            output += "<b>";
            output += news[i].childNodes[0].firstChild.nodeValue;
            output += "</b> - <i>";
            output += news[i].childNodes[1].firstChild.nodeValue;
            output += "</i>";
 
            
 
        }
        txt_mc.createTextField("txt_name" , 1, 0, 0, 150, 10);
        txt_mc.txt_name.html = true;
        txt_mc.txt_name.htmlText = output;
        trace(output);
        //txt_mc.txt_name.url = news[i].childNodes[2].firstChild.nodeValue;
    }
}
 
newsXML.load("news.xml");

Старый 06.12.2008, 20:12
l2net вне форума Посмотреть профиль Отправить личное сообщение для l2net Найти все сообщения от l2net
  № 6  
Ответить с цитированием
l2net
 
Аватар для l2net

Регистрация: Dec 2008
Сообщений: 5
Kuruki - огромное спасибо! заработал вывод строки

изменил строку на ввывод:
Код AS1/AS2:
txt_mc.txt_name.htmlText = '<a href="'+news[i].childNodes[2].firstChild.nodeValue+'">'+output+'</a>';
эта новость полностью рабочая ура

а как теперь прочитать вторую новость?, я понимаю что созданное второе тектовое поле накладываться на первое
т.е. нужно создать динамически изменяемую переменную....зависящую от "i" но куда ее притулить и как оформить?
Заранее спасибо!

Старый 07.12.2008, 01:30
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 7  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Код AS1/AS2:
var newsXML:XML = new XML();
newsXML.ignoreWhite = true;
 
 
newsXML.onLoad = function(success) {
    if (success) {
        var news:Array = newsXML.firstChild.childNodes;
		_root.createEmptyMovieClip("txt_mc", 0);
        for (i = 0; i < news.length; i++) {
			var output:String = "";
            output += "<b>";
            output += news[i].childNodes[0].firstChild.nodeValue;
            output += "</b> - <i>";
            output += news[i].childNodes[1].firstChild.nodeValue;
            output += "</i>";
 
            txt_mc.createTextField("txt_name" + i , i, 0, i * 20, 300, 20);
            txt_mc['txt_name' + i].html = true;
            txt_mc['txt_name' + i].htmlText = '<a href="'+news[i].childNodes[2].firstChild.nodeValue+'">'+output+'</a>';
        }
    }
}
 
newsXML.load("news.xml");
А если захотите сделать подчеркивание при наведении, смотрите TextField.styleSheet, TextField.StyleSheet

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

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

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


 


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


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