Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2014, 12:18   #1
Женька Good
Форумчанин
 
Регистрация: 15.03.2011
Сообщений: 126
Восклицание Перетаскивание в 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
Сообщений: 46
По умолчанию

Если нужно что бы просто визуально отображалось надо областью тогда все просто, нужно заменить проверку с
Код:
if (mc_hit.hitTestPoint(mc.x,mc.y,true))
на
Код:
if (mc_hit.hitTestObject(mc))
Если же нужно что бы чайлдилось именно на ту область, но нужно будет пересчитывать координаты и чайлдить

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключить класс flash.filesystem от Adobe AIR в JPEXS Free Flash Decompiler ArtGrek Общие вопросы Web 2 12.02.2017 02:52
Помогите найти программу для создания flash роликов, Flash анимации Илья Квашнин Общие вопросы Web 2 29.01.2016 22: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 02:10