2011-03-25 4 views
0

저는 AS3 MP3 플레이어가 있습니다. 플레이어 클래스는 Mp3PlayerFrontEnd라고하며 재생 및 일시 중지 버튼을 제어합니다. 재생 목록 클래스는 PlaylistBoxItem이라고하며 XML에서 재생 목록으로 트랙 이름을로드합니다. 재생 목록의 각 행에는 다운로드 버튼이 있습니다. 다운로드 버튼을 누르면 플레이어를 일시 중지시키고 싶습니다. 나는 단지 _player.pause() 할 수 있다고 생각했다. 재생 목록 클래스에서 가져 왔지만 작동하지 않습니다.다른 AS3에서 한 클래스의 함수에 어떻게 액세스합니까?

내 질문은 ... 어떻게 재생 목록 클래스에서 MP3 플레이어 클래스의 함수에 액세스합니까?

나는 이것을 만들지 않았다. 나는 그것을 구입했다. 나는 그 사람에게 도움을 요청한 사람에게 물어 봤고 대답했다. ...

"일반적으로 PlaylistListboxItem 클래스의 Mp3Player 인스턴스에 액세스하고 다운로드 기능에서 pause()를 호출하면됩니다. 이를 달성하는 가장 쉬운 방법은 코드가있는 모든 곳에서 플레이어에 액세스하는 데 사용할 수있는 홀더 클래스의 공용 정적 인스턴스를 만드는 것입니다. "

공용 정적 인스턴스를 만드는 방법 또는 배치 할 위치를 알 수 없습니다.

새로운 수업을 만들어야합니까? 어디에서 가져올 수 있습니까? 함수를 작성하는 방법은 무엇입니까? 감사합니다. . 리치

+0

actionscript에 대해 아는 것이 있습니까?/어떤 코드를 게시 할 수 있습니까? – www0z0k

+0

사용자 지정 이벤트 클래스를 만들고 단추를 클릭 할 때 해당 이벤트를 전달하십시오. 이벤트를 파견하는 클래스가 청취하는 클래스의 자식 인 경우, 파열됩니다. 그렇지 않은 경우 대신 스테이지에 리스너를 추가하십시오. 다음은 맞춤 이벤트 클래스에 대한 정보가있는 링크입니다. http://evolve.reintroducing.com/2007/10/23/as3/as3-custom-events/ –

+0

예, ActionScript에 대해 알고 있습니다. 다음은 MP3 플레이어 클래스의 시작입니다. public class Mp3PlayerFrontEnd MovieClip extends IDisposable \t { \t \t private var _player : Mp3Player; \t \t private var _currentTrack : int = 0; \t \t \t \t \t 공개 Mp3PlayerFrontEnd 함수() { \t \t \t \t \t repeatButton.addEventListener (MultiStateButtonStateEvent.STATE_CHANGED, evthndlRepeatTrack); \t \t \t playPauseButton.addEventListener (MultiStateButtonStateEvent.STATE_CHANGED, evthndlPlayPause); evthndlPlayPause 함수는 _player.pause()를 호출합니다. _player.pause()를 호출하려면 PlaylistboxItem (자식이 아님)이 필요합니다. –

답변

1

모든 것을 제어하는 ​​클래스는 플레이어에 대한 참조가 필요합니다.

그래서 재생 목록 클래스가 생성자에서 재생/일시 정지/등을 사용하려는 곳이면 mp3 플레이어에 대한 참조를위한 장소를 추가하십시오. 공공 기능이 있습니다 .whatever

public class PlayListBoxItem 
{ 
    private var myMp3Player:Mp3Player; 

    // the class constructor 
    public function PlayListboxItem(myMp3Player:Mp3Player) 
    { 
     this.myMp3Player = myMp3Player; 
    } 
} 

이제 어디서든 플레이리스트 클래스에서는, myMp3Player.start() .stop()와 MP3 플레이어에 액세스 할 수 있습니다.

시작과 중지가 공용 기능인지 확인하십시오.

+0

답장을 보내 주셔서 감사합니다.하지만 작동하지 않았습니다. 오류가 많이 발생합니다. 전체 패키지를 전자 메일로 보낼 수 있습니까?이메일 주소를 나에게 전달 해줘. [email protected] 감사. –

관련 문제