0

我是使用KineticJS的新手,并且正在使用它来开发一个简单的 2D 游戏,其中涉及精灵、碰撞检测等。

我需要访问我的sprite对象的各种属性(我们在这里称之为 spriteObj)。

我可以使用spriteObj.getX()spriteObj.getY()获得精灵坐标,这非常有效。

现在我还需要检索精灵的其他属性,例如heightwidth,但似乎没有办法做到这一点。具体来说,如果我的精灵中有一个动画,我如何检索当前帧和/或该动画帧的 x、y、高度、宽度。

我真正需要的是spriteObj.getWidth()spriteObj.getHeight() 之类的东西,但这些都不存在。请问有什么建议吗?我在 html5 教程页面上看不到任何内容(请参阅此处

谢谢,欧文

4

1 回答 1

1

您正在寻找的方法确实存在,请检查KineticJS Sprite API

这是KineticJS Sprite 教程

以下是您要求的功能:

根据该教程,我添加了一些代码以满足您的需求,检查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);

jsfiddle

于 2013-09-05T13:36:57.757 回答