Просмотр полной версии : остановка программного движения
_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 - не помогает, подскажите пожалста. Больше ничего на ум не приходит.
"Попробывал stop() и break - не помогает" - меня это умиляет. Ты бы еще попробовал "остановисьПожалуйста" или "радиВсегоСвятогоПрекрати!"
/////////////
delete мувик.onEnterFrame
как обратно включить - сам думай
_pkiller_
11.02.2006, 14:11
Ну извините, другими знаниями пока не обладаю, но очень надеюсь вскоре, спасибо за подсказку) буду думать. А мож кто до конца подскажет)
З.Ы. Шутка понравилась)
1. Tween class
2. Tween.stop();
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};
Мне привычнее так выполнять:
Учимся пользоваться тэгом 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 думаю более простой, осталочь узнать как его запускать повторно.
pkiller, я ж всё расписал.
sem1313, у тебя onEnterFrame будет тарабанить и когда надо, и когда не надо? Конечно, зачем думать о загрузке процессора юзера :)
_pkiller_
13.02.2006, 11:05
у тебя в коде только остановка, а где повторный запуск после убирания мышки? Или я чего-то не понимаю?
блин, а самому немного подумать головой не судьба? события onRollOver/Out как-нить сам напиши. уверяю тебя, всё что там придётся прописать уже написано в моём коде.
Держи
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 проблем нет, кажеться я понял КАК это надо написать, спасибо.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.