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

53 lines
1.3 KiB
JavaScript
Raw Normal View History

2015-07-17 16:22:46 +08:00
function loadSong(selectedSong){
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(){
2015-07-18 10:57:56 +08:00
//assets.sounds["start"]["audio"][0].play();
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.src = '/songs/'+_selectedSong.folder+'/'+_selectedSong.title+'.mp3';
audio.load();
2015-07-17 16:22:46 +08:00
$("#music-bg").load(function(){
_bgLoaded=true;
_this.checkIfEverythingLoaded();
});
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(){
var taikoGame = new Controller(_selectedSong, _songData);
taikoGame.run();
});
}
}
$("#screen").load("/src/views/loadsong.html", _this.run);
}