![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Sep 2009
Сообщений: 12
|
Здравствуйте всем,
есть проект, суть которого в том, что имеется несколько бегунков, которые перемещаются по горизонтали. Причем при перетаскивании определенного бегунка он должен выходить на передний план, перекрывая все остальные. Для этого создаю динамически несколько клипов-контейнеров, в которых есть свои дочерние клипы ItemClip[i] = _root.createEmptyMovieClip ("_item." + i.toString(), _root.getNextHighestDepth()); ItemImage[i] = ItemClip[i].createEmptyMovieClip ("_image." + i.toString(), ItemClip[i].getNextHighestDepth()); Но смены глубины не происходит и последний клип всегда остается выше остальных. Как можно еще решить проблему? Спасибо! |
|
|||||
|
Модрон-ветеринар
|
1. Потрейсите значение уровней.
2. Приведите полный код, вот это: "к каждому клипу привязываю событие drag_drop" ничего не проясняет. Что значит "привязываю", что за событие drag_drop - загадка. |
|
|||||
|
Покажи весь код целиком. Не очевидно на какой клип ты вешаешь событие и куда будет ссылаться this.
|
|
|||||
|
Регистрация: Sep 2009
Сообщений: 12
|
Инициализация ролика
//Инициализируем вопрос function InitQuestion(ScaleUrl:String, ItemUrl:String) { Params = new InitialPars(ScaleUrl, ItemUrl); //Вставляем линейку if (Params.ScaleUrl != "") { //делаем клип var ScaleMCL:MovieClipLoader = new MovieClipLoader(); var ScaleCompleteListener:Object = new Object(); ScaleMCL.addListener(ScaleCompleteListener); ScaleCompleteListener.onLoadInit = function (SrcClip) { SrcClip._x = 0; SrcClip._y = DocumentHeight - SrcClip._height; } ScaleClip = _root.createEmptyMovieClip ("_scale", _root.getNextHighestDepth()); ScaleMCL.loadClip(ScaleUrl, ScaleClip); } len = Params.Items.length; ItemClip = new Array(len); ValueOut = new Array(len); var ItemImage:Array = new Array(len); //Собираем ползунки for (i = 0; i < len; i++) { var ItemMCL:MovieClipLoader = new MovieClipLoader(); var ItemCompleteListener:Object = new Object(); ItemMCL.addListener(ItemCompleteListener); ItemCompleteListener.onLoadInit = function (SrcClip) { id = SrcClip._name.split(".")[1]; SrcClip._parent.height = (SrcClip._height + 40) * 2; SrcClip._y = (SrcClip._height + 40) / 2; PointerClip = SrcClip._parent.attachMovie("pointer", "_pointer", SrcClip._parent.getNextHighestDepth()); PointerClip._x = (SrcClip._width / 2) - 10; PointerClip._y = SrcClip._y + SrcClip._height; SrcClip._parent._y = DocumentHeight - (ScaleClip == null ? 0 : ScaleClip._height) - (SrcClip._parent.height * 0.75) - Params.Removal; dragAndDrop(SrcClip._parent, SrcClip._parent._y, 71, parseInt(id)); } ItemClip[i] = _root.createEmptyMovieClip ("_item." + i.toString(), _root.getNextHighestDepth()); ItemImage[i] = ItemClip[i].createEmptyMovieClip ("_image." + i.toString(), ItemClip[i].getNextHighestDepth()); ItemMCL.loadClip(Params.Items[i], ItemImage[i]); } } |
|
|||||
|
На первый взгляд должно работать.
Посмотри внутри функции dragAndDrop трэйсы: // Место и уровень клипа до попытки поднять trace("mc: " + this + "; depth: " + this.getDepth() + "; next depth: " + _root.getNextHighestDepth()) this.swapDepths(_root.getNextHighestDepth()); // Место и уровень клипа после попытки trace("mc: " + this + "; depth: " + this.getDepth() + "; next depth: " + _root.getNextHighestDepth() + "\n -------") |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:22. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|