我有一个Kinetic.Sprite对象:
//create troll obj:
var trollImageObj = new Image();
trollImageObj.onload = function () {
var troll = new Kinetic.Sprite({
x: 250,
y: 40,
image: trollImageObj,
animation: 'solid_down',
animations: animations,
frameRate: 2
});
.
.
.每次按下箭头键时,我都会使用troll.setAnimation(newAnimation);更改troll动画(每个箭头键按下都有不同的动画)。
我也想更改frameRate,但找不到方法?(没有"setFrameRate")有什么方法可以做到吗?
发布于 2013-12-29 03:54:19
确实有一个名为setFrameRate的方法(请参阅此处的http://kineticjs.com/docs/Kinetic.Sprite.html)。
诀窍是停止精灵,设置新的帧速率和动画,然后再次启动精灵。使用您提供的代码,必须添加以下内容:
troll.stop();
troll.setAnimation('newAnimation');
troll.setFrameRate(10); // 10 as an example
troll.start();这段代码必须添加到onload回调函数中。
发布于 2013-03-19 23:52:52
那么,您可以尝试直接访问{config}属性:
trollImageObj.attrs.frameRate = some number;但我不认为这会起作用;我认为对象动画在你创建之后是不可修改的。
要做的事情要么是为不同的动画创建单独的精灵,要么是向动画中添加/移除动画帧。
https://stackoverflow.com/questions/15502260
复制相似问题