PDA

Просмотр полной версии : Привязка и повторное нажатие кнопки с другим действием.


Ged
30.01.2003, 03:16
:confused: Помогите плиз, как сделать, чтобы при выполнении, допустим,
on(press)
startDrag(ля-ля-ля), а потом
on(press)
stopDrag(ля-ля-ля), а то у меня при нажатии на кнопку выполняется поочерёдно, но всё равно получается сразу stopDrag.
:confused: И ещё один вопрос: как сделать, чтобы при претаскивании (startDrag) объекта (например кнопки), этот объект привязывался к точке на экране, указанной мной?
Заранее спасибо! 8)))

B.B>>>Flash
30.01.2003, 21:54
Короче вот...

on(press){
if(k==1){
k=1;
startDrag();
}
if(k==2){
k=1;
stopDrag();
}

пробуй так, а есть множ-во вариантов, аж целых три.
Про привязку объясни поподробней, а вот как я понял:

_root.onMouseMove = function(){
if(_xmouse<точка(x)+100 and _xmouse>точка(x)-100 and _ymouse<точка(y)+100 and _ymouse>точка(y)-100){
la-la-la
}
else{
stopDrag();
}
}

Штрек
07.02.2003, 01:37
on(press){
if(k==1){
k=1;
startDrag();
}
if(k==2){
k=1;
stopDrag();
}

Почему то этот код не работает.
Мне надо, что бы при повторном клике клип, к которому обращается кнопка, останавливался в другом кадре.
Я поместил в кнопку:
on (release) {
if (k == 1) {
k = 1;
tellTarget ("sss.aaa") {
gotoAndStop(1);
}
}
}
on (release) {
if (k == 2) {
k = 1;
tellTarget ("sss.aaa") {
gotoAndStop(2);
}
}
}
НЕ РАБОТАЕТ!!!!!!!!!!!!!
В.В. - будь добр растолкуй код, что вверху.
Заранее благодарен.

sergwizard
07.02.2003, 06:22
Когда научишься задавать вопросы более конкретно, - начнешь получать более точные и подробные ответы на них. А пока, - только это.

Штрек
07.02.2003, 06:47
"Мне надо, что бы при повторном клике клип, к которому обращается кнопка, останавливался в другом кадре." -
куда ж ещё конкретней.
Всё равно спасибо - я просил растолковать смысл каждой
строчки в коде/кроме первой разумеется/.
Привет.

Штрек
07.02.2003, 06:53
В.В. - будь добр растолкуй код, что вверху - куда ж конкретней?

Штрек
07.02.2003, 07:03
Засунул кнопку в мувик - и всё?
Меня интересует как сделать разные события для n-го клика
на кнопке - перв.раз нажали - выскочил заяц, второй - выскочил свисток, пятый - чего другого, т.е. - может ли Флэш -считать клики и если может - то как?

sergwizard
07.02.2003, 08:10
Штрек, вообще-то, я отвечал автору топика Ged(у), и просил его задавать вопросы поконкретнее.
А на твой вопрос отвечу другим исходником. Смысл такой: на каждый клик кнопки счетчик увеличивается на единицу. Естественно, и клип, к которому обращаешься, переходит на фрейм вперед. Ну, а текстовые поля – это так, для твоего развития.

Штрек
07.02.2003, 21:17
sergwizard ;)

Отлично всё сделано!!!!!!!!!!!
Почти разобрался.
Будут вопросы - вернусь в топик.
Спасибо.

Штрек
07.02.2003, 23:21
sergwizard - извиняюсь за банальный вопрос - какая функция подсчитывает кол-во кадров в мувике?
Мне это надо, чтоб присвоить знач.этой функции перем.y и
если n>y-1, тогда
on(release){
mc.gotoAndStop(n-y)
phras=txt[n-у-1];
Это что бы после слона опять появлялась пешка.
Заранее благодарен.
p.s.Ещё нужна функция возвращающая числитель от дробной части n/y - организовать ещё одно вложение "если", при
n>k*y, где k - любое целое число.
Уф - написал и сам задумался - может всё можно проще,
что бы и 23 клике всё работало как надо.
Число элементов в массиве может же быть динамическим?
Чего то я тут намудрил. Извиняюсь.

sergwizard
08.02.2003, 00:05
Обрати внимание на код в кнопке.
on(press){
n+=1;
}
Это и есть счетчик. То есть, при каждом клике по кнопке, переменная n увеличивается на единицу.
И тут же ответ на твой вопрос. Если хочешь, чтобы после последнего фрейма в клипе "mc", был переход на первый фрейм, выставляем условие:

on(press){
n+=1;
if(n>5){
n = 0;
}
} То есть, обнуляем счетчик по достижению им определенного значения (в данном случае - 5). При желании, количество может быть любым.

Да, еще. В скрипт на первом фрейме основного таймлайна, после функции on(load) вставь еще такой скриптик:

_root.onEnterFrame = function(){
if(n==0){
phras=txt[0];
}
} Это чтобы сразу при открытии мувика, появлялся текст.

Число элементов в массиве можно менять динамически, добавляя новые элементы массива с помощью функции "push". Об этом можешь прочитать в хелпе. Но, к нашему примеру это не подходит.

Штрек
08.02.2003, 00:14
sergwizard -= всё очень доходчиво разьяснил, все бы так.
Боооооооооольшое спасибо!!!!!!!!!!