Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > Общие вопросы Web
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 28.01.2014, 12:18   #1
Женька Good
Форумчанин
 
Регистрация: 15.03.2011
Сообщений: 126
Репутация: 10
Восклицание Перетаскивание в AS 3.0 Flash

Необходимо перетаскивать мувики в контейнер, если мувик над контейнером, то помещать его туда, иначе возвращать на исходную позицию.
Код:

var obj:Object = {
	zapchast1:{startX:0,startY:0,hitAreaMc:"container1"},
	zapchast2:{startX:0,startY:0,hitAreaMc:"container2"}	
};

var mc:MovieClip;
for (var prop in obj)
{
	mc = container.getChildByName(prop) as MovieClip;
	obj[prop].startX = mc.x;
	obj[prop].startY = mc.y;
	mc.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDownFunc);
	mc.addEventListener(MouseEvent.MOUSE_UP, onMouseUpFunc);
}

function onMouseDownFunc(event:MouseEvent):void
{
	var mc:MovieClip = event.target as MovieClip;
	mc.startDrag();
}
function onMouseUpFunc(event:MouseEvent):void
{
	var mc:MovieClip = event.target as MovieClip;
	var mc_hit:MovieClip = container.getChildByName(obj[mc.name].hitAreaMc) as MovieClip;
	mc.stopDrag();
	if (mc_hit.hitTestPoint(mc.x,mc.y,true))
	{
		mc.x = mc_hit.x;
		mc.y = mc_hit.y;
	}
	else
	{
		mc.x = obj[mc.name].startX;
		mc.y = obj[mc.name].startY;
	}
}

Проблема заключается в том, что мувик, даже находясь над контейнером не помещается в него.
Вот исходник:
перетаскивание.rar
Женька Good вне форума   Ответить с цитированием
Старый 28.01.2014, 14:57   #2
rocket-ua
Пользователь
 
Аватар для rocket-ua
 
Регистрация: 21.01.2011
Сообщений: 47
Репутация: 95
По умолчанию

Если нужно что бы просто визуально отображалось надо областью тогда все просто, нужно заменить проверку с
Код:

if (mc_hit.hitTestPoint(mc.x,mc.y,true))

на
Код:

if (mc_hit.hitTestObject(mc))

Если же нужно что бы чайлдилось именно на ту область, но нужно будет пересчитывать координаты и чайлдить

Последний раз редактировалось rocket-ua; 28.01.2014 в 15:10.
rocket-ua вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключить класс flash.filesystem от Adobe AIR в JPEXS Free Flash Decompiler ArtGrek Общие вопросы Web 2 12.02.2017 03:52
Помогите найти программу для создания flash роликов, Flash анимации Илья Квашнин Общие вопросы Web 2 29.01.2016 23:55
Подогнать размер flash картинки под размер компонента shockwave flash kestugar Мультимедиа в Delphi 3 15.08.2014 11:03
Перетаскивание Drulya C# (си шарп) 0 15.09.2011 16:51
Перетаскивание geniy Компоненты Delphi 9 12.01.2009 03:10


20:37.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru