PDA

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


_pkiller_
11.02.2006, 14:03
есть мувик, внутри него объект с заданным програмным движением

var t = 0;
onEnterFrame = function () {
if (ball._x<_root._width/2) {
ball._x = t;
t += 5;
} else {
ball._x = 0;
t = 0;
}
};



На основной сцене есть кнопка, вопрос - как написать код для кнопки, чтобы при наведении на нее програмное движение объекта останавливалось, а при убирании мышки с кнопки - продолжалось с тойже точки, где остановилось?
Попробывал stop() и break - не помогает, подскажите пожалста. Больше ничего на ум не приходит.

Король
11.02.2006, 14:07
"Попробывал stop() и break - не помогает" - меня это умиляет. Ты бы еще попробовал "остановисьПожалуйста" или "радиВсегоСвятогоПрекрати!"
/////////////
delete мувик.onEnterFrame
как обратно включить - сам думай

_pkiller_
11.02.2006, 14:11
Ну извините, другими знаниями пока не обладаю, но очень надеюсь вскоре, спасибо за подсказку) буду думать. А мож кто до конца подскажет)
З.Ы. Шутка понравилась)

Antares
11.02.2006, 14:26
1. Tween class
2. Tween.stop();

Double
11.02.2006, 14:27
letItGo = function () {
if (this._x<_root._width/2) {
this._x += 5;
} else {
this._x = 0;
delete this
}
};
//где-то там далеко в коде
ball.onEnterFrame = letItGo;
//еще дальше
bnt.onRelease = function() {delete ball.onEnterFrame};

sem1313
12.02.2006, 01:14
Мне привычнее так выполнять:

Учимся пользоваться тэгом code

_pkiller_
13.02.2006, 03:45
Мне привычнее так выполнять:

pr = 0;
Button.onRollOver = function() {
pr = 1;
}
Buttom.onRollOut = function() {
pr=0;
}
var t = 0;
onEnterFrame = function () {
if(pr == 1) {
if (ball._x<_root._width/2) {
ball._x = t;
t += 5;
} else {
ball._x = 0;
t = 0;
}
}
};
Насколько я понимаю. при наведении на кнопку объект будет уходить в точку _х=0, мне бы хотелось чтоб он просто останавливался, а затем продолжал движение с этой точки.
вариант с delete onEnterFrame думаю более простой, осталочь узнать как его запускать повторно.

Double
13.02.2006, 09:40
pkiller, я ж всё расписал.
sem1313, у тебя onEnterFrame будет тарабанить и когда надо, и когда не надо? Конечно, зачем думать о загрузке процессора юзера :)

_pkiller_
13.02.2006, 11:05
у тебя в коде только остановка, а где повторный запуск после убирания мышки? Или я чего-то не понимаю?

Double
13.02.2006, 13:24
блин, а самому немного подумать головой не судьба? события onRollOver/Out как-нить сам напиши. уверяю тебя, всё что там придётся прописать уже написано в моём коде.

sem1313
14.02.2006, 00:11
Держи


pr = 0;
var t = 0;
_root.onEnterFrame = function () {
if(pr == 1) {
if (ball_mc._x<400) {
ball_mc._x = t;
t += 5;
}
if(ball_mc._x > 400){
ball_mc._x = 0;
t = 0;
}
}

};
but_mc.onRollOver = function() {
pr = 1;
}
but_mc.onRollOut = function() {
pr=0;
}
;

Скрипт рабочий.

_pkiller_
14.02.2006, 02:59
Написать события для onRollOver/Out проблем нет, кажеться я понял КАК это надо написать, спасибо.