好的,我正在尝试将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);
};

最佳答案

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

09-19 20:00