![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Dec 2005
Сообщений: 52
|
Здравствуйте!
Ситуация такая: есть 3 кнопки,надо сделать так, чтобы принажатии на одну кнопку, возле нее начинался проигрываться мувик(допустим до 10 кадра, а потом останавливался(этоя знаю как сделать)), но если нажать на другую кнопку, анимация для той кнопки которая уже была нажата, проигрывается до конца и одновременно с этим начинается такая же анимация для той кнопки которую мы нажали после......... вообщем как сделать проверку release'a для всех кнопок... надеюсь не очень вас запутал... Заранее спасибо! |
|
|||||
|
Modus ponens
|
ну... раз в кнопке есть какая-то анимация, то надо полагать, что она инстанс мувиклипа. Тогда просто написать в онрелизе кнопок:
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Dec 2005
Сообщений: 52
|
нет, анимация не в кнопке, а в отдельном мувике....
ладно объясню по другому... есть три кнопки, принажатии на любую кнопку возле нее плавно появляется квадрат, принажатии на другую кнопку этот квадрат по-тихоньку исчезает, а возле той последней нажатой кнопки он наоборот появляется... вот... и так с каждой кнопкой на какую бы ты ни нажал... |
|
|||||
|
Modus ponens
|
а что в этом плохого? ну... это можно подать как смелый дизайнерский ход... ну проигрывается, и пусть себе проигрывается... =)
__________________
Hell is the possibility of sanity |
|
|||||
|
меценат
|
_root.goBtn = 0;
//контроль какая кнопка нажата .
_root.kontrol = 1;
//переменная которая контролирует что следует выполнять изчезание или появление.
_root.mc._alpha = 0;
//начальная яркость равна нулю.
//
this.btn1.onPress = function() {
_root.goBtn = 1;
};
this.btn2.onPress = function() {
_root.goBtn = 2;
};
this.btn3.onPress = function() {
_root.goBtn = 3;
};
////
_root.onEnterFrame = function() {
if (_root.goBtn == 1) {
if (_root.kontrol == 1) {
_root.mc._alpha -= 5;
if (_root.mc._alpha<=0) {
_root.kontrol = -_root.kontrol;
}
}
if (_root.kontrol == -1) {
_root.mc._x = 100;//координаты по оси икс для первой кнопки
if (_root.mc._alpha<100) {
_root.mc._alpha += 5;
}
if (_root.mc._alpha>=100) {
_root.goBtn = 0;
_root.kontrol = -_root.kontrol;
}
}
}
///
if (_root.goBtn == 2) {
if (_root.kontrol == 1) {
_root.mc._alpha -= 5;
if (_root.mc._alpha<=0) {
_root.kontrol = -_root.kontrol;
}
}
if (_root.kontrol == -1) {
_root.mc._x = 200;//координаты по оси икс для второй кнопки
if (_root.mc._alpha<100) {
_root.mc._alpha += 5;
}
if (_root.mc._alpha>=100) {
_root.goBtn = 0;
_root.kontrol = -_root.kontrol;
}
}
}
///
if (_root.goBtn == 3) {
if (_root.kontrol == 1) {
_root.mc._alpha -= 5;
if (_root.mc._alpha<=0) {
_root.kontrol = -_root.kontrol;
}
}
if (_root.kontrol == -1) {
_root.mc._x = 300;//координаты по оси икс для третьей кнопки
if (_root.mc._alpha<100) {
_root.mc._alpha += 5;
}
if (_root.mc._alpha>=100) {
_root.goBtn = 0;
_root.kontrol = -_root.kontrol;
}
}
}
};
P.S. правда глюки немного есть , вообще иду спать попробую завтра поправить : )
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники |
|
|||||
|
Modus ponens
|
А... до меня наконц дошло =) это сделать нужно чтобы квадратики мигали рядом с кнопкой? а я думал, нужно от этого избавиться %)
2 D12: Как раз тут в соседнем топе обсуждалось =) как бы это дать новичку решение позамысловатее =) (не то, чтобы я сам против, но все-тки =) Зачем это так делать, когда есть всего-то 3 несчастные кнопки? Слишком много наворотов =) var _btns:Array = [];
for (i=0; i<3; i++) {
var _l1:MovieClip = _root.attachMovie("btn", "btn"+i, _root.getNextHighestDepth(), {_x:50, _y:10+i*110, _i:i});
_btns.push(_l1);
_l1._txt.text = "Button"+i;
_l1.onRelease = function() {
this.attachMovie("fader", "fader_mc", this.getNextHighestDepth(), {_x:100, _alpha:0});
for (ii=0; ii<_root._btns.length; ii++) {
if (this != _root._btns[ii]) {
_root._btns[ii].onEnterFrame = function() {
this.fader_mc._alpha--;
if (this.fader_mc._alpha<=0) {
delete this.onEnterFrame;
this.fader_mc.removeMovieClip();
}
};
} else {
_root._btns[ii].onEnterFrame = function() {
this.fader_mc._alpha++;
if (this.fader_mc._alpha>=100) {
delete this.onEnterFrame;
}
};
}
}
};
}
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 27.04.2008 в 22:15. |
|
|||||
|
Modus ponens
|
Или, если кнопки должны выплнять разеые действия, можно и так:
=) var dispatcher:Number = 4;
for (i=0; i<3; i++) {
var _l1:MovieClip = _root.attachMovie("btn", "btn"+i, _root.getNextHighestDepth(), {_x:50, _y:10+i*110, _i:i});
_btns.push(_l1);
_l1._txt.text = "Button"+i;
var _l2:MovieClip = _root.attachMovie("fader", "fader"+i+"_mc", _root.getNextHighestDepth(), {_x:150, _y:10+i*110, _alpha:1});
_l1.onRelease = function() {
_root.dispatcher = this._i;
};
}
_root.onEnterFrame = function() {
switch (_root.dispatcher) {
case 0 :
_root.fader0_mc._alpha<=100?_root.fader0_mc._alpha+=5:_root.fader0_mc._alpha=100;
_root.fader1_mc._alpha>=0?_root.fader1_mc._alpha-=5:_root.fader1_mc._alpha=0;
_root.fader2_mc._alpha>=0?_root.fader2_mc._alpha-=5:_root.fader2_mc._alpha=0;
break;
case 1 :
_root.fader1_mc._alpha<=100?_root.fader1_mc._alpha+=5:_root.fader1_mc._alpha=100;
_root.fader0_mc._alpha>=0?_root.fader0_mc._alpha-=5:_root.fader0_mc._alpha=0;
_root.fader2_mc._alpha>=0?_root.fader2_mc._alpha-=5:_root.fader2_mc._alpha=0;
break;
case 2 :
_root.fader2_mc._alpha<=100?_root.fader2_mc._alpha+=5:_root.fader2_mc._alpha=100;
_root.fader1_mc._alpha>=0?_root.fader1_mc._alpha-=5:_root.fader1_mc._alpha=0;
_root.fader0_mc._alpha>=0?_root.fader0_mc._alpha-=5:_root.fader0_mc._alpha=0;
break;
default :
trace("hit the button, u *beep*!");
break;
}
};
PS. А как вы делаете эти замечательные рамочки вокруг аттачментов? %) PPS. Но в первом случае флешка меньше немного получается, хотя, я думаю, что если в этой всю ерунду поудалять, то будет одинаково =)
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 27.04.2008 в 22:16. |
|
|||||
|
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 wvxvw:
Рамочки вроде сам форум ставит когда прикрепление делаешь. ^_^
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|