PDA

Просмотр полной версии : Когда муви клип активен...(в функции не хватает действия когда мувик активен)


Амиго
15.02.2006, 11:29
Доброго времяни суток!
Я использую мувик как кнопку.Для этого использовал эту функцию


function init_menu(mc:String) {
_st.mcs_name = mc;
for (var i = 0; _st[mc+i]; i++) {
_st[mc+i].i = i;
_st[mc+i].onRelease = function() {
select_menu_item(this.i);
};
_st[mc+i].onRollOver = function() {
this.play();
this.over = true;
};
_st[mc+i].onRollOut = function() {
this.play();
this.over = false;
};
}
}
function select_menu_item(num:Number) {
trace(_st.mcs_name+num);
_st[_st.mcs_name+_st.prev_mc].over = false;
_st[_st.mcs_name+_st.prev_mc].enabled = true;
_st[_st.mcs_name+_st.prev_mc].play();
_st[_st.mcs_name+num].enabled = false;
_st.prev_mc = num;
}
init_menu("test");



plz, допишите действие когда мувик активен!


P.S Antaries. Многоуважаемый Antaries, я понимаю что ты крутой флэшер, а главное модератор на этом форуме. Я очень ценю работу модераторов, потому что без них форум превратилсябы в пустой трёп. Но я не понимаю почему ты закрываешь мои темы, да для тебя мои вопросы смешны и чего с того? Ты чтоли не учился?Сразу поехал? Только не надо говорить что всему в книгах обучился, у меня есть книги и еслиб там это было я бы попросту не стал залазить на форум. И вообще что касается этого вопроса, сдесь надо пару чтрочек дописать, только я не знаю как. И я не на кого не работаю, Flash'om занялся просто потому что интересно и не надо мне давать ссылки на дурацкие рассказы, и кто вообще говорил что технология Flash или сложная???...По правилам форума тема закрывается если плохое название или ктото матом ругнулся или пустой треп (чего на этом форуме ты сквозь польцев пропускаешь), но в правилах не запрешено задавать вопросы- и знаешь потому что это форум в конце концов!!

Король
15.02.2006, 11:34
что значит - мувик активен?
п.с. код писал ты? просто интересно - насколько ты вообще себе представляешь что происходит в нем

Амиго
15.02.2006, 11:44
Ну у меня мувик-кнопка. Есть в этом коде 3 действия
1 onRollOver -когда навели,
2 onRollOut - когда убрали
3 onRelease - в момент нажатия - переходит в тот же момент что и onRollOver
4 - должно быть чтото когда на мувик уже нажали- он прибывает в активизированном состоянии...
Я точно не знаю может быть нужно создать в мувики какойто отдельный кадр и просто в onRelease отправить на этот кадр?
P.S естественно функцию не я писал, но я вней разобрался и понимаю что от чего работает...

Король
15.02.2006, 11:47
а ты не пробовал сделать то, что только что описал (с кадром)?

Амиго
15.02.2006, 12:18
Ну конечно пробовал, только у меня не заработало...Вы хотите сказать что именно так мне и надо сделать?
Я сделал 15ый кадр и вот так сослался на него:

_st[mc+i].onRelease = function() {
select_menu_item(this.i);
gotoAndPlay(15); };




P.S ну вобщем вот и пробник:

Король
15.02.2006, 12:22
прежде чем писать что то - неплохо было бы ознакомиться с синтаксисом
не туда вписал строчку, надо так -
_st[mc+i].onRelease = function() {
this.gotoAndPlay(15);
};

Амиго
15.02.2006, 12:31
:) сначало я тоже перед gotoAndPlay(15); this написал, но Flahs выдавал ошибку, првда я не убрал строку select_menu_item(this.i);,
спасибо, теперь ошибки нет. Но и новая проблема появилась:
когда первый раз без нажатия,наводишь мышь, а затем уводишь все нормально, но если еще раз новодищь, то он проигрывает сразу до 15 го кадра, а после увада на первый вместо того что бы идти на тот кадр где пометка...

Король
15.02.2006, 12:38
мой тебе совет - открой чистый белоснежный новый файл и аккуратно, самостоятельно - отдавая себе отчет в каждой сточке того, что ты пишешь - сделай меню сам. не сразу все, но понемногу разберешься. это займет меньше времени, чем запутываться в чужом коде все глубже и глубже. а уж насколько это полезнее - я вообще молчу

Амиго
15.02.2006, 12:46
Я понимаю что полезнее...Дело в том что я не смогу при моих знаниях написать такую функцию,раньше я пользовался вот этим:

this.createEmptyMovieClip("test", this.getNextHighestDepth());
test.onRelease = function() {
test.gotoAndPlay(2);
};
test.onRollOut = function() {
test.gotoAndPlay(10)
};
test.onRollOver = function() {
test.gotoAndPlay(2);
;
};

сам написал, все понятно и хорошо, да вот только мне надобно что бы после того как нажмешь на кнопку появился ну предположим текст, а после умедения с кнопки, он не проподал...но ведь onRollOut говорит вернуться на другой кодр, короче с этим не получится, вот я и взял чужую функцию, а теперь 2ю неделю не пойму как ее дороботать... :(

Король
15.02.2006, 12:50
onRollOut = function(){
if(this._currentframe != //кадр в котором он останавливается после нажатия //){
this.gotoAndPlay(10);
}
}

Antares
15.02.2006, 13:04
Амиго, за удаление замечания модератора из своего поста ты получаешь второй плюс и бан на 2 дня.

Думай головой.