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

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

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

Регистрация: Oct 2006
Сообщений: 2
По умолчанию Собственный класс реализующий дерево

Есть задача: Создать класс, который реализует дерево определенной глубины с заданным кол-вом разветвлений от каждой ветви.

Сделал, но неправильно работает Array в классе, подскажите как решить проблему!

мой класс выглядит так:
Код:
class cTree {
  private var branchName:String;
  private var currentDepth:Number;
  private var numberOfBranches:Number;
  private var childBranches:Array = new Array();

  public function cTree(brname:String, cdepth:Number, branchnes:Number)
  {
    this.branchName = brname;
    this.currentDepth = cdepth;
    this.numberOfBranches = branchnes;
    if(this.currentDepth > 0) {
      for(var n = 0; n < this.numberOfBranches; n++)
        this.childBranches.push(new cTree(this.branchName + " - " + n,this.currentDepth - 1, this.numberOfBranches));
    }
  }

  public function traceTree():Void
  {
    trace("depth:" + this.currentDepth + "  nodeName:" + this.branchName);
    if(this.currentDepth > 0) {
    for(var n = 0; n < numberOfBranches; n++)
      childBranches[n].traceTree(); 
    }
  }
}
Вложения
Тип файла: zip cTreeTest.zip (4.9 Кб, 43 просмотров)


Последний раз редактировалось snorik; 21.10.2006 в 02:28.
Старый 20.10.2006, 22:57
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
надо в конструкторе явно прописать создание нового массива
Код:
if(currentDepth > 0) {
	childBranches=[];
	for(var n = 0; n < numberOfBranches; n++)
		childBranches.push(new cTree(branchName + " - " + n,currentDepth - 1, numberOfBranches));
}


Последний раз редактировалось iNils; 21.10.2006 в 02:54.
Старый 21.10.2006, 02:32
snorik вне форума Посмотреть профиль Отправить личное сообщение для snorik Найти все сообщения от snorik
  № 3  
Ответить с цитированием
snorik

Регистрация: Oct 2006
Сообщений: 2
огромное спасибо! заработало! тогда, как я понял, new Array() вначале уже не нужен

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

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

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


 


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


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