查看完整版本: 請各位大大幫忙解決一下這個播放音樂的問題=口=
頁: [1]

s88252s88252 發表於 2012-5-7 11:54 PM

請各位大大幫忙解決一下這個播放音樂的問題=口=

本帖最後由 s88252s88252 於 2012-5-7 11:57 PM 編輯

各位大大
小弟有問題=  =

小弟設定一個圖層  然後要讓他  點擊一次  可以播放音樂  在點擊一次  就停止
語法如下  是用ADOBE FLASH CS5.5做的

import flash.events.Event;

stop();

a1.addEventListener(MouseEvent.CLICK,a1play);
function a1play(e:Event):void
{
        play();

        }


a1.addEventListener(MouseEvent.CLICK,a1stop);
function a1stop(e:Event):void
{
        stop();
        }

如果只按一次是可以播放
但按第二次就沒辦法停止=  =

我把它換成  gotoandstop(1)  還是無法

也試過 把滑鼠偵聽事件改成mouse_out

還是無法=口=

請各位救命

這邊是附件檔案  檔案有點大=口=


...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

aloner112 發表於 2012-5-8 08:27 PM

本帖最後由 aloner112 於 2012-5-8 08:34 PM 編輯

我是用ActionScript3
首先你要
import flash.media.SoundMixer;

然後要停止音樂時
SoundMixer.stopAll();

s88252s88252 發表於 2012-5-8 10:39 PM

aloner112 發表於 2012-5-8 08:27 PM static/image/common/back.gif
我是用ActionScript3
首先你要
import flash.media.SoundMixer;


大大~~~OK了!!!

可是出現另一個問題= =

我要按停止的時候  為何必須一定要點兩下呢=  =

好奇怪唷

不過大大好厲害XDD  謝謝大大

請大大在指點一下迷津

aloner112 發表於 2012-5-9 03:44 AM

本帖最後由 aloner112 於 2012-5-9 03:48 AM 編輯

我目前沒空作測試……不過你把a1stop與a1play旁邊的(e:Event)改成(e:MouseEvent)看看
不行的話再把addEventListener的MouseEvent.CLICK改成MouseEvent.MOUSE_DOWN看看會不會有什麼不同?

s88252s88252 發表於 2012-5-9 10:55 PM

aloner112 發表於 2012-5-9 03:44 AM static/image/common/back.gif
我目前沒空作測試……不過你把a1stop與a1play旁邊的(e:Event)改成(e:MouseEvent)看看
不行的話 ...

大大首先先感謝妳的回覆

以上的方法我試過了  還是不行  不好意思

沒有關係我可以等大大有空的時候再為我解答

小弟大概晚上都會上伊莉觀看的

先謝謝大大了...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><br><br><br><br><br><div></div>

aloner112 發表於 2012-5-10 03:57 AM

本帖最後由 aloner112 於 2012-5-10 04:26 AM 編輯

重新看了一遍你的程式碼
你對物件a1做了兩個監聽器,觸發的條件都是相同的MouseEvent.CLICK
這會造成你點ai按鈕時會同時觸發兩個監聽器以及a1play以及a1stop兩個函數,可能就是這個造成了你的問題。

我會建議你將a1按鈕原地複製一份,另一份的實體名稱假設命名為a2好了
讓a1按鈕只負責播放,讓a2只負責停止,這樣要改寫的東西比較少。
要停止音樂時a1.visible=true; a2.visible=false;
要播放音樂時a1.visible=false; a2.visible=true;


不然就是要把對a1的監聽器砍掉一個,然後在剩下那個監聽器觸發的函數裡面追加if..else條件陳述式
當音樂不是正在播放時,播放音樂,否則就停止播放音樂這樣。


...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

s88252s88252 發表於 2012-5-15 11:58 PM

aloner112 發表於 2012-5-10 03:57 AM static/image/common/back.gif
重新看了一遍你的程式碼
你對物件a1做了兩個監聽器,觸發的條件都是相同的MouseEvent.CLICK
這 ...

大大不好意思

最近比較忙現在才上來看看

大大所說的IF ELSE小弟了解了

但小弟可以問問

IF裡面我需要打的條件式是什麼嗎

想了好久想不出來= =...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

aloner112 發表於 2012-5-16 01:55 AM

本帖最後由 aloner112 於 2012-5-16 02:02 AM 編輯

s88252s88252 發表於 2012-5-15 11:58 PM
大大不好意思

最近比較忙現在才上來看看

我上文寫了兩種方法:

第一種是做兩顆按鈕,一顆管播放,一顆管停止
當按下播放按鈕時,播放按鈕消失,停止按鈕出現
當按下停止按鈕時,停止按鈕消失,播放按鈕出現
我個人覺得這種方法比較容易。

第二種是在按鈕觸發的函數中追加if..else陳述式
至於if的條件,如果是我會這樣做:
1. 在舞台上宣告一個叫nowPlaying的Boolean變數,預設值為false,表示目前並不在播放
2. 播放的同時,nowPlaying=true;
3. 停止以及播放完畢的同時,nowPlaying=false;
4. 而if..else條件陳述式中的條件就是這nowPlaying變數的值。...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>
頁: [1]