Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Помогите с управлением мувика (http://www.flasher.ru/forum/showthread.php?t=124897)

Q_mir 12.05.2009 12:13

Помогите с управлением мувика
 
Привет. Я в AS совсем никакой.:rolleyes:
Ситуация: есть мувик c_mc, у него 10 кадров. На 1-ом, на 5-ом и на 10-ом кадре стоит скрипт stop(); (все в AS2)
Есть кнопка, которая при нажатии проигрывает мувик до кадра со скриптом stop();(простым образом c_mc.play();
соответственно после 10-го кадра возвращает мув на 1-ый кадр.

Так вот: как сделать так, чтоб при нажатии этой же кнопки (в то время как мувик находится на 10 кадре), мувик проигрался назад до 5 кадра и на нем остановился. Спасибо

KiL33 12.05.2009 19:43

Код AS1/AS2:

mc.gotoAndPlay(2);
mc.onEnterFrame = function() {
        if (mc._currentframe>9) {
                clearInterval(_int);
                _int = setInterval(mcMove, 30, false);
                delete mc.onEnterFrame;
        }
};
function mcMove(forward) {
        if (forward) {
        } else {
                if (mc._currentframe>5) {
                        mc.prevFrame();
                trace('Кадр: '+mc._currentframe)
                } else {
                        mc.stop();
                }
        }
}

Вот такой не самый лучший вариант накидал:)
mc-мувик с анимацией, стоп и плей писать не нужно, только анимация.

Q_mir 12.05.2009 23:01

Спасибо, KiL33!
Но что-то не идет. что это за строка "_int = setInterval(mcMove, 30, false);"? что такое 30? И нужно ли писать скрипты "stop();" в кадрах 1, 5, 10 самого мувика?
Мне нужно чтобы по нажатию кнопки, pl_btn допустим, мувик mc проигрался с 1-го по 5-й кадр, далее при нажатии с 5-го по 10-й кадр и далее при нажатии с 10-го до 5.
Ну и если можно затем при нажатии с 5-го до 1-го.:away:

Спасибо:victory:

KiL33 13.05.2009 10:07

Вложений: 1
Тяжело, сосредоточенно занимаясь своими делами, отвлекаться на другие темы, поэтому вот так простенько сделал, будет время, я переделаю, или кто-нибудь поможет..

KiL33 13.05.2009 12:45

Замени код..
Код AS1/AS2:

mc.stop();
btn.onPress = play_mc;
kadr_mc = 5;
txt.autoSize = true;
sec = true;
function play_mc() {
        mc.play();
        if (sec) {
                clearInterval(_int2);
                first_play = true;
                mc.onEnterFrame = function() {
                        kadr = mc._currentframe;
                        txt.text = 'Стаю на '+kadr+' кадре';
                        if (mc._currentframe>=11) {
                                _int = setInterval(mcMove, 30, false);
                                delete mc.onEnterFrame;
                        }
                };
        } else {
                _int2 = setInterval(mcMove, 30, false);
                first_play = false;
                sec = true;
                kadr_mc = 1;
        }
        function mcMove() {
                if (first_play) {
                        kadr_mc = 5;
                        sec = false;
                }
                if (mc._currentframe>kadr_mc) {
                        mc.prevFrame();
                        kadr = mc._currentframe;
                        txt.text = 'Стаю на '+kadr+' кадре';
                        //trace('Кадр: '+mc._currentframe);
                } else {
                        clearInterval(_int);
                }
        }
}

З.Ы. вариант, не есть какой, но если большего не надо и им можно воспользоваться:)

Q_mir 13.05.2009 23:52

Спасибыч! Будем пробовать:yahoo:


Часовой пояс GMT +4, время: 13:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.