Показать сообщение отдельно
Старый 10.08.2007, 12:42
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Так, а вот так:

Код:
function getNames(root) {
	for (var i in root) {
		var item = root[i];
		
		if (typeof item == 'movieclip') {
			getClassName(item, _global);
			trace('[object '+(__currentClassName ? __currentClassName : 'MovieClip')+', path='+item+']');
			delete __currentClassName;
			getNames(item);
		}
	}
}
function getClassName(mc, scope) {
	for (var i in scope) {
		var item = scope[i];
		if (typeof item == 'function' && mc.__proto__ == item.prototype) {
			__currentClassName = i;
			return;
		} else if (typeof item == 'object') {
			getClassName(mc, item);
		}
	}
}
onLoad = function() {
	getNames(this);
}
Работает? Судя по MovieClip в трейсе, классы ещё не успели инициализироваться.