Просмотр полной версии : проблемы с stopDrag()
Ar4ibald
24.07.2007, 16:23
Всем привет. проблема в том что после перетаскивания обьекта не работает строчка:
_root.gotoAndPlay("start");,
но когда я комментирую перетаскивания обьекта - эта строка работает.
logo.onRelease = function() {
if (logo._x>=-25.7 && logo._x <=50.3 && logo._y>=-20 && logo._y<=18) {
logo.stopDrag();
logo._x=13.3;
logo._y=4;
_root.gotoAndPlay("start");
}
};
Подскажите плз, в чем проблема?
Aziz Zaynutdinoff
24.07.2007, 16:38
Во-первых если вы не объявляли MovieClip с именем logo
var logo:MovieClip;
//далее создание, либо импорт из библиотеки
то внутри MovieClip'а logo врядли содержится ещё один мувик с таким же именем. Замените на this:
logo_mc.onPress = function() {this.startDrag();}
logo_mc.onRelease = function()
{
this._x = 10;
this._y = 10;
this.stopDrag();
_root.gotoAndPlay("start");
}
Во-вторых: почему вы используете дробные координаты? :) 0,3 часть от точки? :) Оригинально.
Ar4ibald
24.07.2007, 16:46
У меня мувик logo на таймлайне лежит,все процедуры с ним можно делать, но почему-то после logo.stopDrag(); не выполняется дальнейшый переход на фрейм.Может что-то нужно еще прописать чтоб выключить этот drag&drop окончательно?
logo.onPress = function() {
this.startDrag();
};
logo.onRelease = function() {
if (logo._x>=-25.7 && logo._x <=50.3 && logo._y>=-20 && logo._y<=18){
logo.stopDrag();
logo._x=13.3;
logo._y=4;
//_root.klick=0;
_root.gotoAndPlay("start");
}
};
не logo.stopDrag(), а просто stopDrag() - это глобальная история.
А по поводу перехода на кадр - у вас метка такая точно есть? Если кадр цифрой указать, работает?
Ar4ibald
24.07.2007, 16:53
Так тоже не работает (((
Почему-то игнорируется только эта строчка _root.gotoAndPlay("start");
метка есть! и цифрой тоже пробовал.
Aziz Zaynutdinoff
24.07.2007, 17:02
скопируйте тот пример что я вам дал, создайте новый документ, в нем создайте объект MovieClip с именем logo_mc, вставьте этот код, сделайте ещё один кадр и задайте ему имя метки "start". Оба кадра затопорите и откомпелируйте... если не будет работать – вы счастливый обладатель FlashIDE не как у всех :)
а пробовали так?trace(_root) Либо if не выполняется, либо _root не туда указывает.
Ar4ibald
24.07.2007, 17:22
Aziz Zaynutdinoff,спасибо, пробовал, по вашому коду тоже не получается.В вашем случае почему-то не работает drag&drop вообще.
Если сделать вот так, то переход выполняется(правда драга нет), а если убрать комменты, то нет.
var logo:MovieClip;
logo.onPress = function() {
//this.startDrag();
};
logo.onRelease = function() {
if (logo._x>=-25.7 && logo._x <=50.3 && logo._y>=-20 && logo._y<=18){
this.stopDrag();
this._x=13.3;
this._y=4;
}
gotoAndPlay(1);
};
из-за чего ето может быть?
Фк4шифдв, убивете пустые строк в коде, а то страницу можно будет скоро в рулон сворачивать.
Ar4ibald
24.07.2007, 19:14
я уменьшил код для наглядности:
logo.onPress = function() {
_root.logo.startDrag();
};
logo.onRelease = function() {
this.stopDrag();
_root.gotoAndStop(1);
};
почему, когда был включен drag and drop не работает переход на фрейм,
когда его закомменировать, то все ок?
Не знаю, что там у вас всех не работает. Только что проверил - у меня все работает. Как у меня попробуйте:
logo.onPress = function() {
startDrag(this);
}
logo.onRelease = function() {
stopDrag();
_root.gotoAndStop("start");
}
Ar4ibald
25.07.2007, 12:32
Cкептик, я пробовал - тоже не получается, возможно проблема в чем то другом.
Вот исходник, а тоя вообще ничего не понимаю. Заранее спасибо
*стер ненужную полемику
Автор, давайте исходник, похоже у вас уникальный случай. У всех работает, кроме вас.
Ни когда не используйте одновременно таймлайн анимацию и программное управление для одного объекта. Либо то, либо другое. _root.gotoAndPlay (1) работает, просто ваш объект уже не возвращается в первоначальное положение, как раз из-за того, что я написал выше.
Ar4ibald
25.07.2007, 12:51
iNils, а если анимацию сделать отдельным мувиком и поместить на главный таймлайн?Таким способом можна избежать проблемы?
В первом кадре onPress осталось, onRelease переписалось.
upd: поможет.
Ar4ibald
25.07.2007, 13:05
Kikasso, нужно это прописать?
delete logo.onPress;
delete logo.onRelease;
В принципе onRelease можно не удалять - оно спокойно переопределяется, но я бы советовал больше в 1-й кадр не возращаться.
Да и зачем оно вам по логике? Лого на месте, все ок, играем дальше.
Ar4ibald
25.07.2007, 13:59
Я поместил анимацию в отдельный мувик и теперь с переходами проблем нет.
всем спасибо огромное.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.