Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Кнопка ВКЛ/ВЫКЛ, не выключает. (http://www.flasher.ru/forum/showthread.php?t=171430)

sogologo 15.11.2011 23:41

Кнопка ВКЛ/ВЫКЛ, не выключает.
 
Уже обращался с этим кодом на AS3 сюда, всем спасибо помогли!

Но возник косяк не большой и я не знаю как его поправить, AS3 только учусь не давно перехожу с AS2

Код, который предоставил ниже должен выполнять вот такие цели:
По умолчанию мелодия должна играть, то есть запускается флэшка, она играет.
Музыка должна играть по кругу, то есть доходит до конца трека и опять играет с начала
Кнопка всего одна работает как ВКЛ/ВЫКЛ, кликаем музыка отключается, кликаем повторно включается. (в этом то и косяк)

Два первых пунктам из 3 работают как надо, но музыка по клику не выключается, а начинает играть заново, не могу понять, почему так то?

Код AS3:

import flash.media.Sound;
import flash.media.SoundChannel;
import fl.motion.MotionEvent;
import flash.events.Event;
 
var temp:Sound = new BuzzingBeeWav();
var temp1:SoundChannel;
var pl:Boolean = false;
 
btnPlay.addEventListener (MouseEvent.CLICK, eventPlay);
btnStop.addEventListener (MouseEvent.CLICK, eventStop);
 
eventStop(null);
 
function eventPlay(e:MouseEvent){
        if (!pl) {
                temp1 = temp.play();
                temp1.addEventListener(Event.SOUND_COMPLETE, eventStop);
                pl=true;
                gotoAndStop(2);
        }else {
                temp1.stop();
                pl = false;
                temp1.removeEventListener(Event.SOUND_COMPLETE, eventStop);
                gotoAndStop(1);
        }
 
}
 
function eventStop(e){
    pl = false;
    eventPlay(null);
}

Добавлено через 1 час 18 минут
Добрый люди помогли

Код AS3:

import flash.media.Sound;
import flash.media.SoundChannel;
import fl.motion.MotionEvent;
import flash.events.Event;
 
var temp:Sound = new BuzzingBeeWav();
var temp1:SoundChannel;
var pl:Boolean = false;
 
btnPlay.addEventListener(MouseEvent.CLICK, eventPlay);
//btnStop.addEventListener (MouseEvent.CLICK, eventStop);
 
if (! temp1)
{
        eventPlay();
}
 
function eventPlay(e:MouseEvent = null)
{
        if (! pl)
        {
                trace('p1');
                temp1 = temp.play();
                temp1.addEventListener(Event.SOUND_COMPLETE, eventStop);
                pl = true;
                gotoAndStop(2);
        }
        else
        {
                trace('p2');
                temp1.removeEventListener(Event.SOUND_COMPLETE, eventStop);
                temp1.stop();
                pl = false;
                gotoAndStop(1);
        }
 
}
 
function eventStop(e:*)
{
        trace('p3');
        temp1 = temp.play();
        temp1.addEventListener(Event.SOUND_COMPLETE, eventStop);
        pl = true;
        gotoAndStop(2);
}


Ookami 16.11.2011 03:08

Где-то с неделю назад была подобная тема с аналогичной проблемой


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

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