Javascript 使用preload.js和create.js加载图像?

Javascript 使用preload.js和create.js加载图像?,javascript,windows-8,Javascript,Windows 8,我在这里继续学习Windows8的游戏开发教程。 该教程可能需要更新,因为在使用PrelodJS之前,我必须在createJS中添加内容 例如: stage = new createjs.Stage(canvas); preload = new createjs.PreloadJS(); 否则调试会抛出错误 但是,初始化bgImage时程序会中断。我可以使用任何提示代码吗 bgImage = preload.getResult("screenImage").Result; bgBitmap =

我在这里继续学习Windows8的游戏开发教程。 该教程可能需要更新,因为在使用PrelodJS之前,我必须在createJS中添加内容

例如:

stage = new createjs.Stage(canvas);
preload = new createjs.PreloadJS();
否则调试会抛出错误

但是,初始化bgImage时程序会中断。我可以使用任何提示代码吗

bgImage = preload.getResult("screenImage").Result;
bgBitmap = new Bitmap(bgImage);
bgBitmap.scale_X = SCALE_X;
bgImage.scale_Y = SCALE_Y;
stage.addChild(bgBitmap);
stage.update();

请确保您使用的语法正确

var bgImage = preload.getResult("screenImage").result;
var bgBitmap = new createjs.Bitmap(bgImage);
stage.addChild(bgBitmap);
还有,你得到的bug是什么? 下面是一个快速的例子,应该会有所帮助

function init() {
        canvas = document.getElementById("testCanvas");

        //check to see if we are running in a browser with touch support
        stage = new createjs.Stage(canvas);
        createjs.Ticker.setFPS(24);
        createjs.Ticker.addListener(stage);

        images = images || {};
        var manifest = [
            {src:"image.jpg", id:"image"}
        ]

        loader = new createjs.PreloadJS(false);
        loader.onFileLoad = handleFileLoad;
        loader.onComplete = handleComplete;
        loader.loadManifest(manifest);
    }

    function handleFileLoad(o) {
    //You could store all your images in object to call them easily.  
    if (o.type == "image") {
            images[o.id] = o.result;
        }
    }

    function handleComplete(event) {
        var bg = new createjs.Bitmap(loader.getResult("image").result);
        //OR samething
        //var bg = new createjs.Bitmap(images['image']);
        stage.addChild(bg);
    }

    function tick() {
        stage.update();
    }

希望这有帮助。

请确保使用正确的语法

var bgImage = preload.getResult("screenImage").result;
var bgBitmap = new createjs.Bitmap(bgImage);
stage.addChild(bgBitmap);
还有,你得到的bug是什么? 下面是一个快速的例子,应该会有所帮助

function init() {
        canvas = document.getElementById("testCanvas");

        //check to see if we are running in a browser with touch support
        stage = new createjs.Stage(canvas);
        createjs.Ticker.setFPS(24);
        createjs.Ticker.addListener(stage);

        images = images || {};
        var manifest = [
            {src:"image.jpg", id:"image"}
        ]

        loader = new createjs.PreloadJS(false);
        loader.onFileLoad = handleFileLoad;
        loader.onComplete = handleComplete;
        loader.loadManifest(manifest);
    }

    function handleFileLoad(o) {
    //You could store all your images in object to call them easily.  
    if (o.type == "image") {
            images[o.id] = o.result;
        }
    }

    function handleComplete(event) {
        var bg = new createjs.Bitmap(loader.getResult("image").result);
        //OR samething
        //var bg = new createjs.Bitmap(images['image']);
        stage.addChild(bg);
    }

    function tick() {
        stage.update();
    }

希望这能有所帮助。

请注意,PreloJS 0.3.0(2013年2月)的API略有不同,有助于支持新的事件模型。具体来说,getResult方法和fileload事件负载已经更改。有关更多详细信息,请参阅文档。请注意,PreloJS 0.3.0(2013年2月)有一个稍微不同的API来帮助支持新的事件模型。具体来说,getResult方法和fileload事件负载已经更改。有关更多详细信息,请参阅文档。