【发布时间】:2019-04-25 08:46:30
【问题描述】:
我正在尝试使用 konva.js(利用 vue-konva)在 Vue 中创建精灵动画。
在pure konva.js中,创建了Sprite对象this way——简单来说就是先创建Image对象,然后在Image对象的onload回调中创建Sprite对象.
var imageObj = new Image();
imageObj.onload = function() {
var blob = new Konva.Sprite({
x: 50,
y: 50,
image: imageObj,
animation: 'idle',
animations: animations, // object defined earlier
frameRate: 7,
frameIndex: 0
});
// add the shape to the layer
layer.add(blob);
// add the layer to the stage
stage.add(layer);
// start sprite animation
blob.start();
};
imageObj.src = '/assets/blob-sprite.png';
另一方面,在 vue-konva 中,可以直接在 .vue 文件的 <template> 部分中将 Konva 对象创建为组件,如下所示:
<template>
<v-stage :config="configKonva">
<v-layer>
<v-circle :config="configCircle"></v-circle>
</v-layer>
</v-stage>
</template>
我的问题是:
- 是否可以创建
<v-sprite :config="configSprite"></v-sprite>组件?文档中没有提到这一点。 - 如果是这样,应该如何正确地为
configSprite对象提供必要的image属性? - 如何控制
v-sprite(启动/停止)的动画? - 如果使用
v-sprite组件无法实现所有这些,是否可以手动创建Sprite 对象并将其添加到必要的v-layer中?
谢谢!
【问题讨论】:
标签: javascript vue.js konvajs