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

时间:2012-11-06 22:14:16

标签: javascript windows-8

我正在跟进Windows 8的游戏开发教程http://www.sitepoint.com/creating-a-simple-windows-8-game-with-javascript-game-basics-createjseaseljs/。 教程可能需要更新,因为在某些时候我必须在使用PreloadJS之前添加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();

1 个答案:

答案 0 :(得分:3)

请确保使用正确的语法。

var bgImage = preload.getResult("screenImage").result;
var bgBitmap = new createjs.Bitmap(bgImage);
stage.addChild(bgBitmap);

你得到的错误是什么? 这是一个应该有帮助的简单示例。

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

希望这有帮助。