japanese-drum-game/public/src/js/loadsong.js

66 lines
1.6 KiB
JavaScript
Raw Normal View History

2018-08-28 07:56:31 +08:00
function loadSong(selectedSong, autoPlayEnabled){
2015-07-17 16:22:46 +08:00
var _this = this;
var _selectedSong=selectedSong;
var _bgLoaded=false;
var _musicLoaded=false;
var _songDataLoaded=false;
var _songFilePath = '/songs/'+_selectedSong.folder+'/'+_selectedSong.difficulty;
var _songData;
this.run = function(){
2018-08-06 18:13:01 +08:00
assets.sounds["bgm_songsel"].pause();
assets.sounds["bgm_songsel"].currentTime = 0;
assets.sounds["start"].playAsset();
2015-07-17 16:22:46 +08:00
$("#assets").append("<img id='music-bg' src='/songs/"+_selectedSong.folder+"/bg.png' />");
2015-07-18 10:57:56 +08:00
var audio = new Audio();
audio.muted = true;
2018-08-27 00:14:56 +08:00
audio.src = '/songs/'+_selectedSong.folder+'/main.mp3';
2015-07-18 10:57:56 +08:00
audio.load();
2015-07-17 16:22:46 +08:00
$("#music-bg").load(function(){
_bgLoaded=true;
_this.checkIfEverythingLoaded();
});
audio.playAsset = function(){
try{
audio.muted = false;
audio.play()
}catch(e){
console.warn(e)
}
}
2015-07-18 10:57:56 +08:00
audio.onloadeddata = function(){
2015-07-17 16:22:46 +08:00
_musicLoaded=true;
2015-07-18 10:57:56 +08:00
assets.sounds["main-music"]=audio;
2015-07-17 16:22:46 +08:00
_this.checkIfEverythingLoaded();
2015-07-18 10:57:56 +08:00
};
2015-07-17 16:22:46 +08:00
$.ajax({
url : _songFilePath,
dataType: "text",
success : function (data) {
_songData = data.split("\n");
_songDataLoaded=true;
_this.checkIfEverythingLoaded();
}
});
}
this.checkIfEverythingLoaded = function(){
if(_musicLoaded && _songDataLoaded && _bgLoaded){
$("#screen").load("/src/views/game.html", function(){
2018-08-28 07:56:31 +08:00
var taikoGame = new Controller(_selectedSong, _songData, autoPlayEnabled);
2015-07-17 16:22:46 +08:00
taikoGame.run();
});
}
}
$("#screen").load("/src/views/loadsong.html", _this.run);
}