Просмотр полной версии : Help !!!
Molotoff
05.11.2004, 19:07
Проблема мучает уже .. 5 дней : :confused:
> Как написать скрипт, который определяет название последней нажатой кнопки.
Или как написать: если была нажата эта кнопка("имя кнопки"), то переходим на этот фрейм ("имя фрейма").
Заранее благодарен... спасите :(
ScaredShard
05.11.2004, 19:47
На кнопке
on(release){_root.metka="1";
//
//
//
}
На мувике
onClipEvent(EnterFrame){
this.gotoAndStop(_root.metka);
//
//
//
}
Или я не въехал?
Molotoff
05.11.2004, 23:44
Нет ты походу не совсем въехал :rolleyes: . Вобщем расклад такой:
Есть кнопки (2 и более) допустим на 1м фрейме, мы на одну из них нажимаем, начинается воспроизведение с определенной метки (допустим "2") с 2го фрейма, заканчивается на 5м фрейме("stop();"). По аналогии с остальными кнопками(ну и естестно с другими метками и фреймами). Дак вот, вопрос: дальше нужно составить разветвление > если была нажата 1ая кнопка, продолжаем воспроизводить с 6го фрейма, 2ая кнопка- с 10го и т. д. Что скажете, о боги "движения"!
Дай каждой кнопке по соответствующей переменной, хранящей отступ. И gotoAndPlay на _currentframe+MyButtOffset...
var kn_name;
var kol_kn = 6;
for (i=1; i<=kol_kn; i++) {
this["kn"+i].onPress = function() {
_root.kn_name = this._name;
};
}
В зависимости от значения переменной kn_name
отправляй мувики куда тебе надо...
Molotoff
06.11.2004, 12:59
Спасябо большое, проверю все варианты.
P.S. кстати объясни, Штрек, что означает " this["kn"+i] ". Что за переменные или еще что здесь "kn", "+i".(раньше с этим не сталкивался)... не держите, если что, за ламера :rolleyes:
Имеется в виду, что имеется 6 /kol_kn/ кнопок
с инстанс именами - kn1 . kn2....kn6
Molotoff
06.11.2004, 23:00
Еще 2 вопроса... Как присвоить кнопке, при нажатии на неё, соотвествующую переменную?
И "левый" вопрос: скрипт который заставляет передвигаться объект(мувик, кнопку) из одного места в ДРУГОЕ. ДРУГОЕ - потому что получается только прог. передвижение объекта в "никуда":
mov.onEnterFrame=function()
{
mov._x+=1;)
}
Зачем тебе переменная в кнопке?
Скрипт, что выше, задаёт значение переменной
в руте и это значение легко отслеживать...
Что касается перемещения -
бери прототип на все случаи жизни -
изменение основных св_в мува за n_kadr кадров -
MovieClip.prototype.izm_sv = function(nkadr, x, y, alf, xsc, ysc, rotat) {
this.createEmptyMovieClip("obr", 9);
var ttx = this._x;
var tty = this._y;
var ttalf = this._alpha;
var ttxsc = this._xscale;
var ttysc = this._yscale;
var ttrotat = this._rotation;
var n = 0;
this.obr.onEnterFrame = function() {
n++;
this._parent._x += x/nkadr;
this._parent._y += y/nkadr;
this._parent._alpha += alf/nkadr;
this._parent._xscale += xsc/nkadr;
this._parent._yscale += ysc/nkadr;
this._parent._rotation += rotat/nkadr;
if (n == nkadr) {
this._parent._x = ttx+x;
this._parent._y = tty+y;
this._parent._alpha = ttalf+alf;
this._parent._xscale = ttxsc+xsc;
this._parent._yscale = ttysc+ysc;
this._parent._rotation = ttrotat+rotat;
n = 0;
this.removeMovieClip();
delete this.onEnterFrame;
}
};
};
Применяется так -
есть мув с инст_именем. напр. mc
Пишем -
mc.izm_sv(12,150,-100,-30,0,0,45)
За 12 кадров мувик сметится на 150 пикс. по оси X,
на -100 пикс. по оси Y, при этом его альфа
уменьшится на 30%, а также мувик повернётся
на 45градусов, относительно точки регистрации.
Запускать метод можно по всякому -
просто прописать в кадре и при входе плэера в кадр
он/метод/ начнёт работать...
или запускать кнопкой -
on(press){
mc.izm_sv(12,150,-100,-30,0,0,45)
}
или с помощью функции setInterval -
id=setInterval(function(){
mc.izm_sv(12,150,-100,-30,0,0,45)
clearInterval(id)},2000)
//здесь после входа в кадр со скриптом,
применение метода начнётся через 2 сек.
Короче вариантов море...
Molotoff
07.11.2004, 17:56
Спасибо большое за посильную помощь. Век воли не видать, никогда не забуду :)
Molotoff
07.11.2004, 21:30
Первоначальная проблема решилась очень просто(спасибо 'ScaredShard', это я в начале не въехал :)):
На кнопках
on(press){ gotoAndPlay("1");
_root.metka="name_of _frame"; }
На фрейме:
gotoAndPlay(_root.metka);
И все. ВСе гениальное просто. Хотя че здесь блин гениального. И все же спасибо за помощь.
P.S. Кстати насчет передвигания опять же. А как из точки в ОПРЕДЕЛЕННУЮ точку?(а не смещение на столько-то единиц). Ну короче типа - из одной координаты в другую.
Оригинал написал(а) Molotoff
Ну короче типа - из одной координаты в другую.
А подумать? :rolleyes:
Molotoff
07.11.2004, 22:15
И все же...
Наглый, отказывающийся подумать, настойчивый
/что вообще то не плохо/... :p
MovieClip.prototype.dvig = function(x, y, nkadr) {
this.createEmptyMovieClip("obr", 99);
var xx = this._x;
var yy = this._y;
var n = 0;
this.obr.onEnterFrame = function() {
n++;
this._parent._x += (x-xx)/nkadr;
this._parent._y += (y-yy)/nkadr;
if (n == nkadr) {
this._parent._x = x;
this._parent._y = y;
this.removeMovieClip();
delete this.onEnterFrame;
}
};
};
mc.dvig(300, 350, 24);
Molotoff
07.11.2004, 22:34
Не люблю думать :) . А если честно, то у меня уже ночь - Сибирь все таки. До встречи ;)
Оригинал написал(а) Molotoff
До встречи ;)
В Сибири?... :p
Molotoff
08.11.2004, 16:56
Ну можно и у нас. Мне без разницы :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.