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

sogologo 06.11.2011 13:37

Простая кнопка включения/выключения
 
Всем привет, есть у меня простая функция на AS3, а я до сих пор даже не начал разбираться в этом AS3 ) все сижу на AS2. Сейчас прям ну совсем нет времени разбираться так бы с удовольствием :) войдите в ситуацию!

Помогите из вот этого кода, сделать то что мне нужно! С меня на пиво!
Код 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);
        }
}
 
function eventStop(e){
        if (pl){
                temp1.stop();
                pl = false;
                temp1.removeEventListener(Event.SOUND_COMPLETE, eventStop);
                gotoAndStop(1);
        }
}

В этом коде две кнопки Play и Stop, на одну нажимаем включается музыка на другую включается, мне нужно чтобы была одна кнопка, которая и включает и выключает :) так сказать кнопка ВКЛ/ВЫКЛ

ПОМОГИТЕ :) опять же повторюсь с меня на пиво!

Inet_PC 06.11.2011 13:45

Вам в вакансии.

sogologo 06.11.2011 13:46

Да я в курсе, но там долго отвечают, а тут не просьба за деньги, тут просьба научить быстро справится с функцией...

А на пиво предлагаю, это же не обязательно :)) хотите пожертвую хотите нет

Vektor 06.11.2011 14:01

Издеваетесь! Причем здесь AS2 || AS3.
Код 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){
 
}


Ookami 06.11.2011 14:02

Код AS3:

btnPlay.addEventListener (MouseEvent.CLICK, eventPlay);
 
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);
        }
}

это как минимум, но наверно можно и оптимальнее сделать =)

goodguy 06.11.2011 14:04

Цитата:

Вам в вакансии.
Задача элементарная. Не вижу смысла посылать человека в вакансии ради этого
Код 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);
 
 
function eventPlay(e:MouseEvent){
        if (!pl) {
                temp1 = temp.play();
                temp1.addEventListener(Event.SOUND_COMPLETE, eventStop);
                gotoAndStop(2);
        } else {
                temp1.stop();
                temp1.removeEventListener(Event.SOUND_COMPLETE, eventStop);
              gotoAndStop(1);   
          }
          pl = !pl; // меняем состояние переключателя
}

Добавлено через 1 минуту
опередили...

sogologo 06.11.2011 14:11

Спасибо, помог самый первый код, другие не стал проверять :))

Не знаю кому скинуть на бутылочку пива? :) или может на пожертвования детей Африки?

Ookami 06.11.2011 14:12

на развитие форума =)

Inet_PC 06.11.2011 14:25

Цитата:

Задача элементарная. Не вижу смысла посылать человека в вакансии ради этого
В общем случае согласен с Вами, но если есть награда или оплата, это все таки вакансии, имхо конечно же.

sogologo 06.11.2011 14:50

Так напомню что я использовал вот этот код

Код 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){
 
}


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

strangedk 06.11.2011 14:55

Код AS3:

function eventStop(e){
    p1 = false;
    eventPlay(null);
}


sogologo 06.11.2011 20:37

Так она играет с самого начал, как только её запустить. А нужно чтобы играла :) когда я кликну на неё и играла бесконечно :)

Ookami 06.11.2011 20:48

Я правильно вас понял? Надо чтобы мелодия играла постоянно, а нажатие на кнопку просто включало/выключало звук?

Newred 06.11.2011 21:53

менять свойство volume у экземпляра SoundTransform
volume = 0
volume = 1


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

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