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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.04.2007, 22:39
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 11  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
Цитата:
Сообщение от neFX
не могли бы подсказать как правильно сделать чтобы каждому ноду соответствовало создание нового текстового поля с уникальным именем.
xml файл forest.xml
Код:
<?xml version="1.0" encoding="UTF-8"?>
<main>
    <tree/>
    <tree/>
    <tree/>
</main>
код:
Код:
var main:MovieClip = this;
//
var myXML:XML = new XML();
myXML.ignoreWhite = true;
myXML.load("forest.xml");
//
myXML.onLoad = function(success):Void {
    if (success && !this.status) {
        var les:XMLNode = this.firstChild;
        var len:Number = les.childNodes.length;
        // 
        for (i=0; i<len; i++) {
            var tf:TextField = main.createTextField('tf'+i, main.getNextHighestDepth(), 0, 0, 10, 10);
            tf.autoSize = true;
            tf.text = les.childNodes[i].nodeName;
            tf._y = 20*i;
        }
    }
};

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

Регистрация: Feb 2007
Сообщений: 109
Отправить сообщение для DanQuimby с помощью ICQ
изв я не решаю задачи за других
читай мой код там есть идея

Старый 03.04.2007, 22:58
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 13  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
DanQuimby прав, не стоит загромаждать код, единственное что плохо в его примере что нелзя менять месторасположение текстовых нодов (только в столбик). что касается второго вопроса...можно устанавливать условие во время цикла и запихивать текстовые поля в два мувиклипа. затем выставлять значение _visible = true/false
__________________
Free-lance | Twitter | Me

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

Регистрация: Feb 2007
Сообщений: 109
Отправить сообщение для DanQuimby с помощью ICQ
screamge просто был вопрос почему не работает
был дано обьяснение
А дальше уже как когориться "дерзай"
я просто сделал быстро "на коленках"
без доработок .

Старый 04.04.2007, 00:20
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 15  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
Цитата:
Сообщение от neFX
Вопрос
Вот допустим я вывожу не все ноды а только столько сколько мне требуется, а на 2 кадре вывожу оставшиеся..
а как сделать чтобы старые текстовые поля удалялись..
можно конечно делать всё в разных мувах и потом делать removeMovieClip(); , но мне кажется можно проще сделать..
xml - тот же.
Код, первый кадр:
Код:
stop();
var main:MovieClip = this;
var len:Number = 0;
var les:XMLNode;
var part:Number = 2;
var pos:Number = 0;
var tfAr:Array = [];
//
var myXML:XML = new XML();
myXML.ignoreWhite = true;
myXML.load("forest.xml");
//
myXML.onLoad = function(success):Void  {
    if (success && !this.status) {
        les = this.firstChild;
        len = les.childNodes.length;
        // 
        for (i=0; i<part; i++) {
            var tf:TextField = main.createTextField('tf'+i, main.getNextHighestDepth(), 0, 0, 10, 10);
            tf.autoSize = true;
            tf.text = les.childNodes[i].nodeName+' - '+main._currentframe;
            tf._y = 20*pos;
            tfAr[i] = tf;
            pos++;
        }
        main.gotoAndStop(2);
    }
};
//
function nexPage():Void {
    stop();
    //
    var arLen:Number = tfAr.length;
    for (i=0; i<arLen; i++) {
        tfAr[i].removeTextField();
    }
    //
    pos= 0;
    for (i=part; i<len; i++) {
        var tf:TextField = main.createTextField('tf'+i, main.getNextHighestDepth(), 0, 0, 10, 10);
        tf.autoSize = true;
        tf.text = les.childNodes[i].nodeName+'  - '+this._currentframe;
        tf._y = 20*pos;
        pos++;
    }
}
Второй кадр:
Код:
nexPage();


Последний раз редактировалось this.create; 04.04.2007 в 00:23.
Старый 04.04.2007, 01:36
NtM вне форума Посмотреть профиль Отправить личное сообщение для NtM Найти все сообщения от NtM
  № 16  
Ответить с цитированием
NtM

Регистрация: Sep 2006
Адрес: Calgary
Сообщений: 82
Отправить сообщение для NtM с помощью ICQ
можно использовать removeTextField() или просто скрывать их, а потом когда нужно показывать

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

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

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


 


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


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