Форум 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=124450)

LeonidRoz 30.04.2009 01:11

Проблемы условного перехода
 
Уважаемые господа!
Я начинающий программист. Попробовал написать самый простой mp3-плеер. Я понимаю, что сегодня в Сети исходников полно, мне важно самому.

Код моего плеера:
Код:

var tune1:Sound = new Sound();
var tune2:Sound = new Sound();
var tune3:Sound = new Sound();
var tune4:Sound = new Sound();
tune1.attachSound ("song1");
tune2.attachSound ("song2");
tune3.attachSound ("song3");
tune4.attachSound ("song4");
stop();
track=1;

play_mc.onPress = function() {
        if (track==1) {
        tune1.start();
}        else        {
        if (track==2) {
                tune2.start();
        }        else        {
                if (track==3) {
                        tune3.start();
                }        else        {
                        tune4.start();
                        }
                }
        }
}

stop_mc.onPress = function() {
        tune1.stop();
        tune2.stop();
        tune3.stop();
        tune4.stop();
}

back_mc.onPress = function() {
        if (track==1) {
                track=4;
                tune1.stop();
                tune4.start();
        }
        if (track==2) {
                track--;
                tune2.stop();
                tune1.start();
        }
        if (track==3) {
                track--;
                tune3.stop();
                tune2.start();
        }
        if (track==4) {
                track--;
                tune4.stop();
                tune3.start();
        }
}

next_mc.onPress = function() {
        if (track==1) {
                track++;
                tune1.stop();
                tune2.start();
        }
        if (track==2) {
                track++;
                tune2.stop();
                tune3.start();
        }
        if (track==3) {
                track++;
                tune3.stop();
                tune4.start();
        }
        if (track==4) {
                track=1;
                tune4.stop();
                tune1.start();
        }
}

Проблема: кнопка Вперед не переходит на другие треки, а лишь снова начинает первый, а кнопка Назад вместо четвертого трека, запускает третий (четвертый при этом проиграть невозможно).
Версия программы: CS4
Для аудио-файлов атрибут "Экспорт для ActionScript" активирован, идентификаторы заданы правильно. Имена экземпляров для кнопок тоже верны.
Не знаю, нужно ли прикладывать файл. Если нужно будет - приложу.

Большое спасибо за любую помощь.

Kuruki 30.04.2009 01:23

Нужно использовать оператор return для выхода из функции, когда выполнение последующего кода в ней не требуется, а в вашем случае даже приводит к не желательным результатам. После первого блока if track увеличивается и выполняется условие второго блока, который в свою очередь опять увеличивает track и т.д....

LeonidRoz 30.04.2009 01:40

Спасибо большое! Помогло!


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

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