PDA

Просмотр полной версии : как вернуться к родительскому клипу из загруженного клипа?


kolin
04.10.2008, 20:28
пожалуйста помогите! я загружаю в клип методом loadMovie другой клип swf и теперь хочу что бы при щелчке на кнопку, расположенную в загруженном клипе swf, вернуться к тому кадру откуда был загружен клип swf

dimarik
05.10.2008, 02:55
Запомните значение номера кадра в переменной родителя, а при клике на загруженный клип прочитайте это значение и переведите родителя на нужный кадр.

// В родительском мувике
_root.frameToJump = this._currentframe;

// В загружаемом мувике
this.onRelease = function() {
_root.gotoAndStop(_root.frameToJump);
}

kolin
05.10.2008, 10:34
я сделал всё как вы предписали но перехода к родительскому клипу не произошло
вот мой код

//в родительском клипе
clon.onRelease=function(){
_root.frameToJump = this._currentframe;
_root.loadMovie("empty.swf");
}
//в загруженном клипе
end_btn.onRelease=function(){
_root.gotoAndStop(_root.frameToJump);
}

Wolsh
05.10.2008, 11:07
Как можно перейти к тому чего нет
Вы поменяли диски в плеере и теперь хотите просто нажать на кнопку и услышать первый диск.
Или нет, даже не так. Вы хотите создать на втором диске ссылку на песню, которая записана на первом диске. Типа я вставлю второй диск, кликну на нем эту ссылку и хочу чтоб заиграла песня с того диска, что был вставлен раньше.

kolin
05.10.2008, 13:09
вот ещё вопрос, можно ли клип удалить при щелчке на кнопку расположенную в этом же клипе?

Wolsh
05.10.2008, 13:25
but.onPress = function(){
//// если клип на таймлайне, его сначала надо поднять на положительную глубину
//// this._parent.swapDepths(10000);
this._parent.removeMovieClip();
}
Только, kolin (http://flasher.ru/forum/member.php?u=58509), Вы же всё грузите в рут)))))

dimarik
05.10.2008, 19:15
kolin , прочувствуйте разницу:
Ваш код
//в родительском клипе
clon.onRelease=function(){
_root.frameToJump = this._currentframe;
_root.loadMovie("empty.swf");
}

Мой кодvar mc = _root.createEmptyMovieClip('externalMC', _root.getNextHighestDepth());
clon.onRelease=function(){
_root.frameToJump = this._currentframe;
loadMovie("empty.swf", mc);
}

В этом случае я воспользовался глобальной функцией (Global function) loadMovie вместо метода MovieClip'a mc.loadMovie.
Её синтаксис: loadMovie(url:String, target:Object, [method:String]) : Void
target - куда грузим внешний клип.
Т.е. я создал пустой мувик mc и в него загрузил внешний клип. В Вашем случае вы перегружаете (замещаете) _root и там просто трется значение переменой frameToJump. Как-то так я думаю.