diff --git a/project/dvui/components/AiSprite.vue b/project/dvui/components/AiSprite.vue index 7aab59a1..1c82a319 100644 --- a/project/dvui/components/AiSprite.vue +++ b/project/dvui/components/AiSprite.vue @@ -10,6 +10,7 @@ export default { props: { width: {default: 400}, height: {default: 300}, + is3D: Boolean }, data() { return { @@ -20,14 +21,20 @@ export default { init(count = 0) { const container = this.$refs[this.ref] if (container) { + let loadTasks = [] let {width, height} = this.$props - const scene = new spritejs.Scene({container, width, height, ...this.$attrs}), - layer = scene.layer() - /** - * layer 图层 - * lib spritejs的依赖库 - */ - this.$emit("init", {layer, lib: spritejs}) + if (this.is3D) { + loadTasks.push(this.$injectLib("https://unpkg.com/sprite-extend-3d/dist/sprite-extend-3d.js")) + } + Promise.all(loadTasks).then(() => { + const scene = new spritejs.Scene({container, width, height, ...this.$attrs}), + layer = scene.layer() + /** + * layer 图层 + * lib spritejs的依赖库 + */ + this.$emit("init", {layer, lib: spritejs}) + }) } else if (count == 20) { console.log(this.$refs) } else setTimeout(() => this.init(++count), 500)