我正在使用 requirejs 在 Kinetic 中加载,并且我有一个简单的脚本来创建精灵并将其加载到画布上。它以一帧的默认空闲状态加载精灵:
require(['libraries/kinetic'], function(Kinetic){
console.log('Initializing....');
var stage = new Kinetic.Stage({
container : 'canvas',
width : 578,
height : 200
}),
layer = new Kinetic.Layer(),
animations = {
idleRight: [{
x : 343,
y : 2,
width : 26,
height : 58
}]
},
imageObj = new Image();
imageObj.src = '/assets/images/billy.png';
imageObj.onload = function() {
var billy = new Kinetic.Sprite({
x : 25,
y : 25,
image : imageObj,
animation : 'idleRight',
animations : animations,
frameRate : 7
});
// add the shape to the layer
layer.add(billy);
// add the layer to the stage
stage.add(layer);
// start sprite animation
billy.start();
console.log('Done.');
}; // .onload
}); // require
我正在为 require 使用 shim 配置,以便正确加载动力学:
requirejs.config({
baseUrl: '/assets/js',
shim: {
'libraries/kinetic' : {
exports : 'Kinetic'
},
}
});
无论我尝试什么,我都无法显示精灵/图像!任何帮助将不胜感激!
我使用谷歌的这张图片作为测试精灵:
http://www.nes-snes-sprites.com/ImagesSheet/SuperDoubleDragonSheet2.gif