Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > Потаскать мувик


Автор: Ramirez 16.12.2006, 00:28
никак не могу понять, есть сцена, на ней клип. внутри клипа (в первом кадре) следующий код:

Код

this.onPress = function() { 
    startDrag(this);
};
this.onRelease = function() {
    stopDrag();
};


при таком раскладе мувик можно таскать, все замечательно. НО! если в этом же мувике есть кнопка или другой мувик с событием onPress то эти события уже не реагируют. smile

если код сделать таким:
Код

this.onMouseDown = function() { 
    startDrag(this);
};
this.onMouseUp = function() {
    stopDrag();
};


то проблема решается, НО! мувик таскается независимо от того в каком месте кликнуть (т.е. можно кликнуть рядом с ним, он се равно потащится...) 

Что я делаю не так?

Автор: szz 16.12.2006, 03:05
Не знаю, все работает, см. приложение.

Автор: AlDev 16.12.2006, 08:26
Цитата(Ramirez @  16.12.2006,  05:28 Найти цитируемый пост)
при таком раскладе мувик можно таскать, все замечательно. НО! если в этом же мувике есть кнопка или другой мувик с событием onPress то эти события уже не реагируют. 

логично. Ибо события родителя вызываются, а события детей - нет, т.к. родитель запрещает по сути события детей.

Автор: Ramirez 16.12.2006, 13:44
Цитата(AlDev @  16.12.2006,  08:26 Найти цитируемый пост)
логично. Ибо события родителя вызываются, а события детей - нет, т.к. родитель запрещает по сути события детей. 


А какой-же выход тогда?

Автор: AlDev 16.12.2006, 14:39
А какой-же выход тогда? 
Создать контейнер, в котором и то и то лежит.

т.е. у тебя
movie
-- submovie

сделать
container
-- movie
-- submovie

и задавать события movie и submovie

Автор: Ramirez 16.12.2006, 17:25
т.е. ловить событие onPress на submovie а startDrag(container)? 
Извиняюсь если туплю, флеш для меня в новинку.

PS: да, так все работает как надо. Большое всем, человеческое такое, Спасибо! =)

В итоге код вышел такой:

Код

this.onPress = function() { 
    startDrag(this._parent);
};
this.onRelease = function() {
    stopDrag();
};

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)