Corona SDK: хотите изменить сцену, когда звук заканчивается. (не работает)

Так у меня это настроено. Звук работает. Функция endGame также работает, если функция вызывается напрямую, в файле scene:create( event ). Но когда я вызываю функцию из метода onComplete в звуке, функция срабатывает, но я получаю это сообщение «попытка вызвать нулевое значение» после того, как звук перестает воспроизводиться.

media.playSound( quotepath, {onComplete = endGame } )

функция:

function endGame()
composer.gotoScene( "scenes.gameover", "fade", 500 )
end

person Stephen M. Yantz    schedule 09.09.2015    source источник
comment
Вы можете опубликовать ошибку журнала консоли?   -  person JLONG    schedule 10.09.2015
comment
Ошибка выполнения, попытка вызвать нулевое значение   -  person Stephen M. Yantz    schedule 10.09.2015


Ответы (1)


Вот каким должен быть синтаксис,

 local onComplete

 onComplete = function(event)
    print( "sound play ended" )

end

media.playSound( "song1.mp3", onComplete )
person Kumar KS    schedule 10.09.2015
comment
за исключением того, что playSound не единственная вещь с атрибутом onComplete. Так что если это синтаксис, то это ужасный синтаксис. ржунимагу - person Stephen M. Yantz; 10.09.2015
comment
странно, сработало. То, как я это делал, также было помечено как синтаксис. более раннее, почему этот метод работает. Почему lua такой нелогичный. ржунимагу - person Stephen M. Yantz; 10.09.2015