Crafty.load()
public void Crafty.load(Object assets, Function onLoad[, Function onProgress[, Function onError]])
- assets
JSON 对象 (或者 JSON 字符串), 要加载的资源 (可以是音频,图片和精灵)
- onLoad
资源加载完成后的回调函数
- onProgress
当资源被加载时进行回调,包含资源加载的信息。
- onError
资源加载失败时的回调函数
预加载所有资源. 在文件中提供一个JSON格式的对象(或者 JSON 字符串) 并将它们添加到Crafty.assets
对象, 以及设置响应的精灵。
格式必须遵循下面的例子所示的模式,但不需要设置 “audio”、“images”、“sprites”的的所有属性,只设置需要的就可以了。例如,如果你不需要预加载精灵,你可以忽略这个属性。
默认情况下, Crafty 假定所有的文件在当前路径中.要改变这一行为,你可以使用函数Crafty.paths
.
后缀在 imageWhitelist
(不区分大小写) 中注册过的文件将会被加载。
如果你想要一些资源从其他的域加载,你可以使用文件的全路径(包括协议)代替 filename.ext 。
如果Crafty.support.audio
为true
, 以下文件可以被加载mp3
, wav
, ogg
和mp4
(不区分大小写)。
onProgress
回调函数将会传递一个包含当前资源加载进度信息的对象,已经加载的资源以及进度的百分比。
{ loaded: j, total: total, percent: (j / total * 100), src:src }
onError
将在资源无法加载时执行。
当onError
没有提供时,onLoad 将会执行即是加载没有成功。
否则, onLoad 将会被调用无论是否有错误。
例子
var assetsObj = {
"audio": {
"beep": ["beep.wav", "beep.mp3", "beep.ogg"],
"boop": "boop.wav",
"slash": "slash.wav"
},
"images": ["badguy.bmp", "goodguy.png"],
"sprites": {
"animals.png": {
"tile": 50,
"tileh": 40,
"map": { "ladybug": [0,0], "lazycat": [0,1], "ferociousdog": [0,2] }
"paddingX": 5,
"paddingY": 5,
"paddingAroundBorder": 10
},
"vehicles.png": {
"tile": 150,
"tileh": 75,
"map": { "car": [0,0], "truck": [0,1] }
}
},
};
Crafty.load(assetsObj, // preload assets
function() { //when loaded
Crafty.scene("main"); //go to main scene
Crafty.audio.play("boop"); //Play the audio file
Crafty.e('2D, DOM, lazycat'); // create entity with sprite
},
function(e) { //progress
},
function(e) { //uh oh, error loading
}
);