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

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

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

Регистрация: May 2006
Сообщений: 57
Question getNextHighestDepth

У меня есть такой код. На сцене (за краями) валяется 2 мувика - copy_l и copy_r. Есть прямоугольник Analyser, над которым создаются дубликаты этих copy_l и copy_r; По глубине дб выше чем Analyser, иначе сообщения от мыши не пройдут.

Проблема номер раз: они все равно не проходят
Проблема номер два: если сделать финт ушами и после создания кучи дубликатов убрать с вида Analyser (_y += 1000), то сообщения начинают проходить но только к верхним дубликатам.

Вижу проблему в getNextHighestDepth, которая на _root выдает шибко большие числа. Как написано в Справке, это не правильно. На других мувиках выдает нули...

Как мне сделать чтоб в куче дубликатов (один на другом, потом они мышкой растаскиваются), сообщения получали все и чтоб были правильные depth?
Код:
class Analyser extends MovieClip {
	
	var type : String;
	var NID  : Number;
	var copyl;
	var copyr;
	
	function Analyser()
	{
		copyl = eval("_root." + "copy_l");
		copyr = eval("_root." + "copy_r");
		if (_global.objs == undefined)
		{
			_global.objs    = 0;
			_global.getnxt = function()
			{ 
				_global.objs++;
				return _global.objs;
			}
		}

		duplicate();
		
		_visible = false;
		
		NID = setInterval(this,"dub", 1000);
		
	}
	function dub()
	{
		clearInterval(NID);
		for(var i = 0; i < 11 ; i++) duplicate();
		_y+=1000;
	}
	function duplicate()
	{
		
		var num   = _global.getnxt();
		var copyl1 = copyl.duplicateMovieClip("copyl" + num, _root.getNextHighestDepth(), 
											{_x : getBounds(_root).xMin + 10, _y : 10+ (getBounds(_root).yMin + getBounds(_root).yMax) / 2,
											 type : this.type, subtype : "moveme", myPipe : ("copyr" + num)});
		var copyr1 = copyr.duplicateMovieClip("copyr" + num, _root.getNextHighestDepth(),
											{_x : getBounds(_root).xMax - 5, _y : 10+(getBounds(_root).yMin + getBounds(_root).yMax) / 2,
											 type : this.type, subtype : "moveme", myPipe : ("copyl" + num)});
		trace(copyl1 + " " + copyl1.getDepth());
		copyl1.onMouseMove();
		copyr1.onMouseMove();			
	}

	function onMouseMove()
	{
	}
}
Примечание: _global.getnxt введена для именования мувиков, созданных динамически (на _global не обр внимания )


Последний раз редактировалось World Architect; 31.05.2006 в 18:25.
Создать новую тему   Часовой пояс GMT +4, время: 16:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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