我是使用 KineticJS 的新手,并且正在使用它开发一个简单的2D游戏,包括精灵,碰撞检测等。
我需要访问精灵对象的各种属性(我们在这里称之为spriteObj)。
我可以使用 spriteObj.getX()和 spriteObj.getY()来获取精灵坐标,这非常有效。
现在我还需要检索精灵的其他属性,例如高度和宽度,但似乎没有办法做到这一点。特别是如果我的精灵中有动画,我该如何检索当前帧和/或该动画帧的x,y,高度和宽度。
我真正需要的是 spriteObj.getWidth()和 spriteObj.getHeight(),但这些不存在。有什么建议吗?我在html5教程页面上看不到任何内容(see here)
谢谢, 欧文
答案 0 :(得分:1)
您正在寻找的方法确实存在,请查看KineticJS Sprite API
以下是您要求的功能:
根据该教程,我添加了一些代码以满足您的需求,请检查console.log
以查看实际使用的方法。对于宽度和高度,虽然没有必要,但您必须在 spriteObj 上指定宽度和高度属性,否则它将返回 0 。
var blob = new Kinetic.Sprite({
x: 250,
y: 40,
image: imageObj,
animation: 'idle',
animations: animations,
frameRate: 7,
index: 0,
width: 80,
height: 100
});
用于测试getIndex()
功能的新按钮:
// stop animation
document.getElementById('stop').addEventListener('click', function () {
alert(blob.getIndex());
}, false);