Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 非常基本的EaseLJS问题。我能';我不能让它工作_Javascript_Html_Canvas_Easeljs_Stage - Fatal编程技术网

Javascript 非常基本的EaseLJS问题。我能';我不能让它工作

Javascript 非常基本的EaseLJS问题。我能';我不能让它工作,javascript,html,canvas,easeljs,stage,Javascript,Html,Canvas,Easeljs,Stage,我对javascript和EaseLJS非常陌生,但我不明白这是怎么回事。 我有一个html文件: <!DOCTYPE html> <html> <head> <script src="easeljs-0.7.1.min.js" type="text/javascript"></script> <script src="game.s.js" type="text/javascript"></scr

我对javascript和EaseLJS非常陌生,但我不明白这是怎么回事。 我有一个html文件:

   <!DOCTYPE html>
<html>
<head>

    <script src="easeljs-0.7.1.min.js"  type="text/javascript"></script>
 <script src="game.s.js"  type="text/javascript"></script>  
 <script>
 function init() {
        renderLevel();
    }
 </script>

</head>
<body onLoad="init();">
        <canvas id="canvas" width="500" height="300">
        alternate content
</canvas>
</body>
</html>
我刚才放在那里检查值的警报。stage.canvas正确地指向HTML5Canvas元素,但图像不会显示

我在这里遗漏了什么?:)


谢谢

问题是,您在加载图像之前将图像添加到舞台,然后还没有图像。在将图像添加到后台之前,需要等待图像加载

您可以使用
preload()来实现这一点函数在调用
init()之前加载所有图像
renderLevel()。以下是此函数的外观:

function preload(images, callback) {
    var count = images.length;
    if (count === 0) {
        callback();
    }
    var loaded = 0;
    $(images).each(function () {
        $('<img>').attr('src', this).load(function () {
            loaded++;
            if (loaded === count) {
                callback();
            }
        });
    });
}

function preload(images, callback) {
    var count = images.length;
    if (count === 0) {
        callback();
    }
    var loaded = 0;
    $(images).each(function () {
        $('<img>').attr('src', this).load(function () {
            loaded++;
            if (loaded === count) {
                callback();
            }
        });
    });
}
preload(["image1.png", "image2.png"], init());