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

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

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

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
По умолчанию Гениологическое древо - как расставить карточки друг относительно друга

Здравствуйте
Задача, казалось бы, несложная, но я в ступоре
Нисходящее древо нужно получить

Приходит ХМЛ с данными в виде
Код:
<person>
    <id>3</id>
    <user_id>74</user_id>
    <level>-1</level>
    <father_id>572</father_id>
    <mother_id>573</mother_id>
    <cart_surname>Фамилия</cart_surname>
    <cart_name>Имя</cart_name>
    <cart_middlename>Отчество</cart_middlename>
    <cart_mername/>
    <cart_sex>2</cart_sex>
    <cart_photo>27_10_2010_2c70da19a6e8cd0e.jpg</cart_photo>
    <cart_info>инфа</cart_info>
    <cart_born>29.11.1965</cart_born>
    <cart_dead/>
    <merry>424</merry>
    <live>1</live>
    <siteuser>0</siteuser>
    <onsite>0</onsite>
  </person>
  <person>
    <id>4</id>
    <user_id>74</user_id>
    <level>0</level>
    <father_id>424</father_id>
    <mother_id>425</mother_id>
    <cart_surname>Фамилия</cart_surname>
    <cart_name>Имя</cart_name>
    <cart_middlename>Отчество</cart_middlename>
    <cart_mername/>
    <cart_sex>1</cart_sex>
    <cart_photo>27_10_2010_dca68b639793a8ab.jpg</cart_photo>
    <cart_info>инфа</cart_info>
    <cart_born>02.05.1987</cart_born>
    <cart_dead/>
    <merry>0</merry>
    <live>1</live>
    <siteuser>0</siteuser>
    <onsite>0</onsite>
  </person>
Древо я строить хочу от заданной персоны (<person>) !
Я принимаю ее LEVEL (ввел переменную) за 0
Card - это мувиклим карточки текущей
начинаю рекурсию с LEVEL=0


функция Рекурсия(num,lev)

CardUpLevel=lev-1;
CardDownLevel=lev+1;

1. В функцию пришел id карточки
2. Сначала смотрю, не выводил ли ее раньше, чтобы дважды не выводить. если не выводилась - располагаю в текущем месте.

Card.x=MC.StartPoint.x;
Card.y=MC.StartPoint.y+Card.height*Card.Level;

3. Смотрю детей, на каждом вызываем функцию рекурсии с п.1. Рекурсия(id ребенка,downLevel)

4. Смотрю мать, рекурсию на ней запускаю Рекурсия(id матери,upLevel)
5. Смотрю супруга, если есть, запуска рекурсию Рекурсия(id супруга, upLevel)
6. Смотрю отца, запускаю рекурсию на нем Рекурсия(id отца,upLevel)

То есть все карточки одного уровня находятся после рекурсии у меня на одной У

И теперь самое интересное для меня
2 дня уже не могу расположить карточки так, чтобы дети были под родителями по Х (а детей может быть несколько) и родители родителей были по Х возле них
Ситуация для меня усложняется еще и тем, что у разных пар могут быть как общие дети, так и дети от других браков

Натолкните кто-нибудь на мысль, пожалуйста

Старый 15.11.2010, 10:45
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Сделайте контейнер, который будет выравниваться относительно родителя и выравнивать в себе всех его детей.

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

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

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


 


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


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