Форум 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)
-   -   Пауза музыки во Flash CS на as2.0 (http://www.flasher.ru/forum/showthread.php?t=170233)

DZHETIGAPA 21.10.2011 00:33

Пауза музыки во Flash CS на as2.0
 
Как данный код ан as3.0 можно переписать на as2.0

Код AS3:

var shmel:Shmel = new Shmel();
var sn:SoundChannel = shmel.play();
 
var btnPlay1:Boolean = true;
var soundPlay:Boolean = true;
var pos:Number;
ppBtn.stop();
 
ppBtn.addEventListener(MouseEvent.CLICK, ppState);
sound_butt.addEventListener(MouseEvent.CLICK, onClickSound);
var transform0:SoundTransform = new SoundTransform(0);
var transform1:SoundTransform = new SoundTransform(1);
 
function onClickSound(e:MouseEvent):void
{
 
        soundPlay = !soundPlay;
        if (soundPlay)
        {
 
                sn.soundTransform = transform1;
                sound_butt.gotoAndStop(1);
        }
        else
        {
 
                sn.soundTransform = transform0;
                sound_butt.gotoAndStop(2);
        }
}
 
function ppState(e:MouseEvent):void
{
btnPlay1 = !btnPlay1;
if(btnPlay1)
{
 ppBtn.gotoAndStop(1);
 stage.frameRate = 24;
 if (sn.soundTransform.volume==0)
 {
        sn = shmel.play(pos);
        sn.soundTransform = transform0;
 }
 else sn = shm

А если вкратце, то надо сделать паузу музыки. В as3.0 для этого создается во Glash CS5 класс и атк далее. В as2.0 так нельзя, класс дял музыки создать нельзя.

Как можно сделать паузу музыки в as2.0 во Fkash CS.

EndoCrinologist 21.10.2011 08:12

Можете попробовать по такому алгоритму:
1) Записать в переменную текущую позицию песни при нажатии на кнопку (к примеру, пауза на третьей секунде)
Код AS1/AS2:

pauseMusic = sndObject.position;

2) Реализовать команду
Код AS1/AS2:

sndObject.stop();

3) Потом при нажатии на эту же или другую кнопку, Вы реализуете следующую команду:
Код AS1/AS2:

sndObject.start(pauseMusic, 1)

Я, честно говоря, пользуюсь таким способом. Будут лучше - поделитесь

mooncar 21.10.2011 11:00

Только надо учесть, что свойство Sound.position возвращает значение в миллисекундах, а в методе
Sound.start в качестве аргумента используются секунды.
То есть
Код AS1/AS2:

sndObject.start(pauseMusic * 1000, 1);


EndoCrinologist 27.10.2011 10:17

Это да, естественно) Пардон)


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

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