Просмотр полной версии : две кнопки связанные одним действием
BM Senya
26.04.2007, 17:50
Привет, уважаемые!
Не могу понять как сделать:
имеются две кнопки в разных местах (и допустим в разных слоях, _root?)
нада чтоб при наведении на первую вторая тоже активировалась (короче обе они имели одни и те же действия).
Заранее благодарю!
Molecula
26.04.2007, 18:14
...(короче обе они имели одни и те же действия)
А зачем? Пусть это будет одна кнопка.
Ну а вообще:
my_btn1.onRollOver=my_btn2.onRollOver=function(){
trace("Cool")
}
...так они делаеют одно и тоже.
А что бы вторая акитивировалась:
my_btn1.onRollOver=function(){
trace("Cool")
my_btn2.gotoAndStop("active")
this.gotoAndStop("active")
}
где "active" - у тебя метка-кадр, там муви-переходит в другое состояние.
BM Senya
26.04.2007, 19:04
А в этом коде как обьеденить мс3 и btn3
mc3.onRollOut=function() {
var i=mc3._currentframe
this.onEnterFrame = function() {
mc3.gotoAndStop(i--)
}
}
mc3.onRollOver=function() {
delete (this.onEnterFrame)
mc3.play()
}
Molecula
26.04.2007, 19:31
В смысле объеденить?...так?:
btn3.onRollOut=mc3.onRollOut=function() {
var i=this._currentframe
this.onEnterFrame = function() {
this.gotoAndStop(i--)
}
BM Senya
26.04.2007, 19:56
У меня на btn3 одна анимация стоит на mc3 другая
так вот мне нужно чтоб навёл на одну из них и анимация проигрывалась у обех одновременно
Molecula
26.04.2007, 20:08
Но они же начинают играть с одной метки.
Пусть у "btn3" играет с 10-го кадра, а у "mc3" с 45-го.
Ставь на них метки "go" и пиши:
btn3.onRollOver=mc3.onRollOver=function() {
this.gotoAndPlay("go");
}
var btnsObj:Object = new Object();
var pressedBtn:String = "";
btnsObj.id1 = [ btn1, btn2 ];// одна пара кнопок
btnsObj.id2 = [ btn3, btn4 ];// другая пара
function buttonsMan( prop:String, oldval:String, newval:String):String{
if(oldval == newval ) return oldval;
if( oldval != "" ){
var arr:Array = btnsObj[oldval];
for (var i = 0; i<arr.length; i++ ){
var btn = arr[i];
btn.enabled = btn.useHandCursor = true;
btn._alpha = 100; // старые кнопки - возврат состояния
// можно и в кадр отправить
}
}
if( newval != ""){
var arr:Array = btnsObj[newval];
for (var i = 0; i<arr.length; i++ ){
var btn = arr[i];
btn.enabled = btn.useHandCursor = false;
btn._alpha = 60; // эти кнопки нажаты
}
}
return newval;
}
this.watch("pressedBtn", buttonsMan);
btn1.onPress = btn2.onPress = function(){
trace( this );
pressedBtn = "id1";
}
btn3.onPress = btn4.onPress = function(){
trace( this );
pressedBtn = "id2";
}
примерно так. Писал на коленке.
BM Senya
26.04.2007, 20:22
Посмотри Inbrief.ru по типу того
а чё в кавычках писать
и яне понял где про анимацию ты написал
Там где trace стоит, поставь код, который должен вызываться.
А функция buttonsMan занимается как раз внешними эффектами. Я без эффектов просто альфу поменял, а ты можешь в кадр с нужной меткой отправить.
Что такое watch, и как оно работает, посмотри в хелпе. Меняем свойство, вызывается функция.
Создай 4 кнопки, назови btn1, btn2, btn3, btn4, весь код в первый кадр и покликай.
upd: на коленке, а без ошибок.
Molecula
26.04.2007, 21:32
Ах вот вы про что...ну тогда можно и так:
function Find_Shit(){
var _col_but=2
for (var obj in box){
if (typeof(box[obj]) == "movieclip")
{
if (obj.substr(0, 5) == "baton")
{
var btn_ = box[obj];
btn_.onRollOver = function (){
for(i=1;i<_col_but+1;i++){
var btn = obj.substr(0, 5)+i;
box[btn].gotoAndPlay("go") }
}
btn_.onRollOut = function (){
for(i=1;i<_col_but+1;i++){
var btn = obj.substr(0, 5)+i;
box[btn].gotoAndPlay("go2") }
}
}
} // end if
} // end if
} // end of for...in
Find_Shit();
+ ссылка на исходник http://khk.com.ua/shit.rar
У тебя есть мувик "box", в нем два мува "baton1" & "baton2", в них метки "go" & "go2"
Т.е. общий смысл функци: ищет в мувике "box" мувики "baton" и при наведении на один из них он переходит на кадр с меткой "go" во всех "baton" на чиная с i=1.
Если поставишь ещё 2 мува и назовешь их "baton3" "baton4" и изменишь var _col_but=4, то все четыре проиграются.
Так что выбирай...Kikasso написал тоже нормально.
Molecula, а поласковей функции слабо называть?
"Скачай какашку в архиве". Обхохочешся.
Molecula
26.04.2007, 21:44
Знаю...есть у меня скрытая грубость-пошлость...свои недостатки
А вы с заказчиками так же обращаетесь?
Я так тоже переодически архивы называю.
Только не забывайте, что это не раздел флейма.
Сорри. Немного пояснений к моему совету.
btnsObj - объект содержащий массивы кнопок.
btnsObj.id1 - первый массив
По нажатию кнопки pressedBtn меняется, а так как это свойство под контролем watch, срабатывает buttonsMan и обрабатываются все кнопки из соответствующего массива.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.