2011-06-09 3 views
0

У меня проблемы с управлением глубинами моих клипов.Проблема, связанная с глубиной для actionscript 3

У меня есть функция startDrag() и функция stopDrag(). Всякий раз, когда я опрокидываю другой MC, я хочу, чтобы глубина этого объекта изменилась на 1+ объект, который он перевернул. (Извиняюсь, если мой английский плох)

Может ли кто-нибудь подтолкнуть вас в правильном направлении?

EDIT: Это до тех пор, пока я не получил, но cIndex возвращает глубину объекта, который в настоящее время перетаскивается; а не объект, который он витает над ... Есть ли способ получить эту глубину?

mc.addEventListener(MouseEvent.MOUSE_OVER, objectFront); 

function objectFront(e:Event):void{ 
    cIndex_t3 = getChildIndex(DisplayObject(e.currentTarget)) 
    trace("ROLLOBJ: " + e.target.name + " " + cIndex_t3); 
    addChild(DisplayObject(e.currentTarget)); 
} 

ответ

0

Похоже, вы хотите использовать getChildIndex и setChildIndex для получения и изменения глубины экранных объектов.

Отъезд this question для получения дополнительной информации.

0

Если вы действительно хотите, чтобы объект был объективом +1, используйте getChildIndex() для перетаскиваемого объекта и используйте setChildIndex() на перетаскиваемом объекте.

Однако, если вы просто хотите перетащить объект сверху, то самым простым способом является простое использование addChild(). Вы можете использовать addChild(), даже если объект уже является дочерним, и это приведет к его удалению в верхнюю часть стека.

0

Вы должны использовать getChildIndex и setChildIndex для операций, связанных с глубиной отображения экранных объектов.

mc.addEventListener(MouseEvent.MOUSE_OVER, objectFront); 

function objectFront(e:Event):void 
{ 
    //Set display object child index on top in container 
    e.target.parent.setChildIndex(e.target as MovieClip, e.target.parent.numChildren - 1); 
} 
Смежные вопросы