2015-10-21 1 views
0

, поэтому я пытаюсь создать экран заголовка, который отображает и изображение и исчезает через 5 секунд, и, как только программа запускается, воспроизводится песня. Эта песня будет проходить через всю игру.Может ли кто-нибудь помочь мне с таймером и звуковыми событиями?

public function TitleScreen(){//adds a Title Screen 
    var tsBackground:tsBack= new tsBack(); 
    tsBackground.x= -22 
    tsBackground.width=650 
    tsBackground.height=450 
    addChild(tsBackground); 

    var mainTheme:tsTheme = new tsTheme(); 
    mainTheme.addEventListener(Event.COMPLETE, completeHandler); 
    function completeHandler(event:TimerEvent){ 
    mainTheme.play(); 
    } 

    var counter = 0; 
    var myTimer:Timer = new Timer(5000); 
    myTimer.addEventListener(TimerEvent.TIMER, TimerFunction) 
    function TimerFunction(event:TimerEvent){ 
     counter++ 
     removeChild(tsBackground); 
     AddStuff(); 
    } 
    myTimer.start(); 

    /*if (myTimer >= 5000) { 
     myTimer.stop(); 
    }*/ 

}//end of TitleScreen 

Я закомментирована, если заявление, что определяет, будет ли он останавливается, потому что я получаю эту ошибку:

1176: Comparison between a value with static type flash.utils:Timer and a possibly unrelated type int. 

Вторая проблема у меня есть, что песня не играет, когда mainTheme.play() ; вызывается, и я знаю, что я правильно сделал связь.

Может ли кто-нибудь помочь?

+0

У вас есть идеи? Последнее замечание не помогло. –

ответ

0

Ошибка указывает на то, что вы пытаетесь сравнить свой объект myTimer (который имеет тип Timer) с целым числом (5000). Это похоже на попытку спросить: «Что больше: номер 3 или эта лампа?». Я думаю, вы хотели сравнить свою переменную counter, но даже это не сработает, как вы этого хотите.

Ваша TimerFunction - это функция, которая запускается, когда ваш таймер достигает нуля. Поэтому нет необходимости делать это сравнение. Вы уже знаете, когда наступит 5 секунд, потому что эта функция будет работать. Поэтому вы можете просто остановить таймер. Вероятно, вы также захотите удалить прослушиватель событий:

function TimerFunction(event:TimerEvent){ 
    removeChild(tsBackground); 
    AddStuff(); 
    myTimer.stop(); 
    myTimer.removeEventListener(TimerEvent.TIMER, TimerFunction); 
    mainTheme.play(); 
}