PDA

Просмотр полной версии : как отменить текущее действие?


zapolskiy
06.09.2006, 19:16
Привет всем!
Подскажите, плиз, как можно отменить текущее действие в интерактивном мультике при нажатии на кнопку.
То есть надо сделать так, что когда нажимаешь кнопищу, то действие, которое идет сейчас, отменяется, а новое задается.
спасибо.:wacko:

StrangeMan
06.09.2006, 22:18
это нужно джелать с помощью сриптового языка.. если ты не тзщнаешь основ то как это работает будет понять трудно....так4 что учи азы.... но если сильно хочешь я всё же напишу как.. это сделать

wvxvw
07.09.2006, 03:41
_root.onMouseUp = function() {
for (i in _root.tmp) {
_root[i] = _root.tmp[i];
}
};
_root.onMouseDown = function() {
var temp:Object = {};
for (i in _root) {
temp[i] = _root[i];
if (i != "onMouseUp") {
delete _root[i];
}
}
_root.tmp = temp;
};
Это не готовый исходник, просто пример, в двух словах что он делает:
- по нажатию удаляет все функции запущенные из рута и заносит их во временный объект (за исключением отпускания и функций скрытых от перечисления фор-ином).
- по отпусканию восстанавливает все обратно.
Он действительно остановит выполнение любой функции пр условии, что она была запущена из рута =)

Единственное "но" плеер выполняет все директивы в порядке поступления. "Обогнать" предыдущую директиву средствами плеера не возможно, только Ф5, если в браузере =) Пример остановит только функции выполнение которых каким-то образом завязано на переодичность, т.е. enterFrame\setInterval, все остальное, что было запущено до клика выполнится.