PDA

Просмотр полной версии : Перемещение по глубине не работает.


JOKER_MAX
14.02.2013, 10:08
Здравствуйте, товарищи.
Второй день бьюсь и не могу понять: почему у меня не работает смена глубины?
Кстати, уверен что есть стандартное решение моей проблемы и кто нибудь с таким сталкивается постоянно.
Существует две кнопка "свернуть\развернуть на весь экран". Расположены на одном месте
Соответственно при нажатии первой ролик сворачивается, это кнопка делается невидимой и неактивной, а вторая наоборот. И вдобавок они должны меняться местами и активная должна выдвигаться на первый план. Но не хочет! Вот код:
_root.bts_fullscreen.bt_fullScreenOn.onRelease = function(){
fscommand("fullscreen", "true");
fullScreenOnOff(this);
}
_root.bts_fullscreen.bt_fullScreenOff.onRelease = function(){
fscommand("fullscreen", "false");
fullScreenOnOff(this);
}

function fullScreenOnOff(offObj:Object){
if (offObj == _root.bts_fullscreen.bt_fullScreenOn){
onObj = _root.bts_fullscreen.bt_fullScreenOff;
}
else{
onObj = _root.bts_fullscreen.bt_fullScreenOn;
}
onObj._alpha = 100;
onObj.enabled = true;
offObj._alpha = 0;
offObj.enabled = false;
onObj.swapDepths(onObj._parent.getNextHighestDepth())

}

Когда то задавал подобный вопрос, но в том случае все работало: http://www.flasher.ru/forum/showthread.php?t=151396
И через swapDepths() пробовал - ничего.
Через trace выводил индекс на экран - не меняется никакими способами.
Скоро придется делать проект с возможностью проигрывать видео. Там это же понадобится для "play\pause"
Что это может быть?

P.S. Можно конечно просто написать _y += 5000 и проблема решена, но хочется чтобы выглядело как-то поприличнее.

dark256
14.02.2013, 10:57
onObj = _root.bts_fullscreen.bt_fullScreenOn;

onObj._parent.getNextHighestDepth() - берете глубину для "_root.bts_fullscreen" а не для _root

Пишите так: onObj._parent._parent.getNextHighestDepth()

От чтения названий ваших объектов, у меня мельтешение в глазах,
а у вас уже и в голове, видимо ;)

JOKER_MAX
14.02.2013, 11:33
От чтения названий ваших объектов, у меня мельтешение в глазах,
а у вас уже и в голове, видимо ;)

нет))) думал не пояснять, но раз уж зашел разговор: я знаю что смотрится не привычно для многих, но мне так удобнее. прослеживается весь путь))) личный фетиш, так сказать
Я как раз и думал, что нужно перемещать внутри одного родителя. И попробовал как сейчас написали - все равно не работает

dark256
14.02.2013, 11:48
onObj._parent.swapDepths(onObj._parent._parent.getNextHighestDepth())

JOKER_MAX
14.02.2013, 11:56
onObj._parent.swapDepths(onObj._parent._parent.getNextHighestDepth())
не работает. да и почему должно?
мне же нужно поменять положение bt_fullScreenOn или bt_fullScreenOff внутри bts_fullScreen
за два дня все облазил, все просто и способов много описано. но почему то не работают. :(

dark256
14.02.2013, 12:08
Мистика.

if (offObj == _root.bts_fullscreen.bt_fullScreenOn)

Вы уверены, что это условие у вас нормально работает?
Преобразуйте в string обе части что-ли.
Чтобы текст сравнивать а не не пойми что.
Если условие у вас постоянно false, то и не будет ничего меняться.

К слову:
var TST = любой_клип
trace( TST )
Таки там не _root будет а вовсе даже _level0

В целом - у вас там вообще половое извращение на клипах.
Обычно это делается хотя бы так: btnChangeState.rar

JOKER_MAX
15.02.2013, 10:04
В целом - у вас там вообще половое извращение на клипах.
Обычно это делается хотя бы так: btnChangeState.rar

Вот потому и спрашивал - искал стандартные способы решения проблемы.
Спасибо. Именно такой способ и подошел. Точнее взял его за основу)))

И условия отрабатывали нормально, кстати.