我有一个Kinetic.Sprite obj:
//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
更改troll.setAnimation(newAnimation);
动画(每个箭头键按下不同的动画)。
我也想更改frameRate
,但我找不到办法吗? (没有“setFrameRate”)
有没有办法做到这一点?
答案 0 :(得分:1)
确实有一种名为setFrameRate
的方法(请参阅此处http://kineticjs.com/docs/Kinetic.Sprite.html)。
诀窍是停止精灵,设置新的帧速率和动画,然后再次启动精灵。 使用您提供的代码,必须添加:
troll.stop();
troll.setAnimation('newAnimation');
troll.setFrameRate(10); // 10 as an example
troll.start();
此代码必须添加到onload
回调中。
答案 1 :(得分:0)
好吧,您可以尝试直接访问{config}属性:
trollImageObj.attrs.frameRate = some number;
但我不认为这会起作用;我认为在创建对象动画后它是不可修改的。
要做的事情是为您的不同动画创建单独的精灵,或者为动画添加/删除动画帧。