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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 15.05.2008, 09:35
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 15  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от iNils Посмотреть сообщение
В отличии от мувиклипов, которое являются визуальными объектами и поэтому "физически" находятся в другом клипе и поэтому имеют родителей, объекты создаются в памяти и на них просто дается ссылка. Понятие родителя к ним не применимо.
То есть если взять пример
Код:
obj1 = {};
obj2 = {};
obj1.obj = obj2;
obj2.obj = obj1;
То обратившись к obj1.obj, а по сути к obj2, то obj1 не будет является для родителем. Вообще ни как.
Это не совсем так. В данном случае имеются:
1) два объекта у которых ОБЩИЙ родитель- _root или временная диаграмма, где они расположены.
2) в каждом из объектов есть ССЫЛКА на другой объект, естественно помещение ссылки в какой-то объект не значит, что он стал родителем.

В коде:
Код:
obj1={}
obj1.obj2={}
Объект obj1.obj2 имеет своим родителем объект obj1

Цитата:
Сообщение от iNils Посмотреть сообщение
И как ты собрался отличать ссылку на объект от самого объекта, мне тоже не понятно.
Если объект имеет родителем тот же объект, свойства которого просматриваются - то это не ссылка, а именно объект.

Цитата:
Сообщение от iNils Посмотреть сообщение
Хочется присечь рекурсию кода выше? Можно сделать так:
Код:
obj1 = {};
obj2 = {};
obj1.obj = obj2;
obj2.obj = obj1;
function a (o, p) {
	for (arg in o) {
		trace (arg + "=" + o[arg]);
		if (o[arg] != p) {
			a (o[arg], o);
		}
	}
}
a (obj1);
Хороший код. Но повиснет на троичном зацикливании... Что не случилось бы, если бы можно было различать ссылки и сами объекты.

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

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

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


 


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


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