Показать сообщение отдельно
Старый 19.06.2013, 14:25
deep70 вне форума Посмотреть профиль Отправить личное сообщение для deep70 Посетить домашнюю страницу deep70 Найти все сообщения от deep70
  № 3  
Ответить с цитированием
deep70
 
Аватар для deep70

Регистрация: Apr 2006
Адрес: Екатеринбург
Сообщений: 55
Отправить сообщение для deep70 с помощью ICQ
Смог обработать клик и onRollOver на mother и child (клик на родительском здесь не показан ибо нет смысла)

Код AS1/AS2:
function Over()
{
	trace(this);
	this.onMouseMove = function()
	{
		if (child.hitTest(_root._xmouse, _root._ymouse))
		{
			trace(child);
			delete this.onMouseMove;
		}
	};
	this.onMouseUp = function()
	{
		if (child.hitTest(_root._xmouse, _root._ymouse))
		{
			trace("Клик по child");
		}
	};
}
mother = mc1;
child = mc1.mc2;
mother.onRollOver = Over;
//
mother.onRollOut = function()
{
	trace("мышь вне mother");
};
delete this.onMouseMove; - неспроста, ибо мне надо лишь зарегистрировать попадание мыши на child. Как после всего этого отследить, что мышь ушла с child (симуляция onRollOut)?

Добавлено через 18 минут
Простите, поспешил с вопросом. Достаточно было подумать над проверкой:


Код AS1/AS2:
function Over()
{
	var mouseOnChild = false;
	trace(this);
	this.onMouseMove = function()
	{
		if (child.hitTest(_root._xmouse, _root._ymouse) && mouseOnChild == false)
		{
			trace("Мышь на child");
			mouseOnChild = true;
		}
		if (!child.hitTest(_root._xmouse, _root._ymouse) && mouseOnChild == true)
		{
			trace("Мышь вне child");
			mouseOnChild = false;
		}
	};
	this.onMouseUp = function()
	{
		if (child.hitTest(_root._xmouse, _root._ymouse))
		{
			trace("Клик по child");
		}
	};
}
mother = mc1;
child = mc1.mc2;
mother.onRollOver = Over;
//
mother.onRollOut = function()
{
	trace("мышь вне mother");
};
mooncar, большое спасибо за исчерпывающий ответ
__________________
О добром, разумном, вечном...