![]() |
|
||||||||||
|
|||||
|
Имею следующую ситуацию:
В фильме 2 мувика. В кадре: function abc() { mc.onEnterFrame = function() { mc._x = mc._x+(_root._xmouse-mc._x)*0.08; mc._y = mc._y+(_root._ymouse-mc._y)*0.08; }; } На втором мувике: onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse, _root._ymouse, 1)) { _level0.abc(); } } Как остановить действие функции, т.е. прекратить драгание mc, когда курсор уходит из области второго мувика? Помогите, плиз. Пробовал по разному, не выходит( |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
итак, 2 мувика:
– один зовут 'mc' и на нем никакого скрипта нету (его будем драгать) – другой неважно как зовут и он является полем, над которым должен происходить драг на мувик-поле повесь: onClipEvent (load) {
dragAction = function () {
_parent.mc._x += (_root._xmouse-_parent.mc._x)*0.08;
_parent.mc._y += (_root._ymouse-_parent.mc._y)*0.08;
};
}
onClipEvent (enterFrame) {
if (this.hitTest(_root._xmouse, _root._ymouse, 1)) {
action = dragAction;
} else {
action = null;
}
action();
}
так попроще наверное, и к тому же весь скрипт в одном окошке ![]() Последний раз редактировалось Nox Noctis; 26.04.2002 в 18:36. |
|
|||||
|
Спасибо большое! Я делал нечто подобное, но писал неправильно в поле value, вот так:
_root.mc.= _x + (_root._xmouse-_root.mc._x)*0.08; _root.mc.= _y + (_root._ymouse-_root.mc._y)*0.08; А так невозможно... |
|
|||||
|
то есть :
_root.mc._x= _x + (_root._xmouse-_root.mc._x)*0.08; _root.mc._y= _y + (_root._ymouse-_root.mc._y)*0.08; ![]() |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
так прикольнее:
_root.createEmptyMovieClip("field", 1);
field.lineStyle(1, 0), field.beginFill(0xCCCCCC);
field.lineTo(400, 0), field.lineTo(400, 300);
field.lineTo(0, 300), field.lineTo(0, 0), field.endFill();
_root.createEmptyMovieClip("targ", 2);
targ.lineStyle(20, 255), targ.lineTo(.15, 0);
//
targ.onEnterFrame = function() {
this.newX = this._x+(_root._xmouse-this._x)*.08;
this.newY = this._y+(_root._ymouse-this._y)*.08;
if (field.hitTest(this.newX, this.newY, 1)) {
this._x=this.newX, this._y=this.newY;
}
};
|
|
|||||
|
Так, оно, конечно, прикольнее
, но весит на 15 байт больше чем руками рисованный вариант При равных параметрах обЪектов. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
ну, я графику рисовал скриптом просто чтоб сюда полный скриптец выложить - который можно скопипастить и посмотреть что получается
![]() |
![]() |
Часовой пояс GMT +4, время: 17:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|