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.audiotrue, 以下文件可以被加载mp3, wav, oggmp4 (不区分大小写)。

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
    }
);