KineticJS - 基本的javascript范围问题

时间:2014-12-09 12:02:03

标签: javascript scope kineticjs

好的,我试图将javascript放在一个单独的源文件中。这是一个新手问题,但我得到的是一个未定义的问题' layer.add(imageObj)上的错误。 我因为window.onLoad而猜测它,但我没有找到答案。

<html>
<head>
    <link rel="stylesheet" type="text/css" media="screen" href="index.css">
    <script type="text/javascript" src="js/kinetic-v5.1.0.min.js"></script>
    <script type="text/javascript" src="js/game.js" defer="defer"></script>
</head>
<body>
    <div id="board"></div>
</body>

javascript:

window.onload = function(){

var stage = new Kinetic.Stage({
    container: 'board'
});
var layer = new Kinetic.Layer();

var imageObj = new Image();
imageObj.onload = function() {
  var image = new Kinetic.Image({
    x: 0,
    y: 0,
    image: imageObj,
    width: 100,
    height: 100
  });
};
imageObj.src = 'resources/map.jpg';

layer.add(imageObj);
stage.add(layer);
};

1 个答案:

答案 0 :(得分:1)

您需要在资源中添加Kinetic.Image个实例(image)而不是imageObj。您可以在onload函数中执行此操作。请参阅:http://jsbin.com/buroyi/2/edit