大屏支持渲染3D模型

This commit is contained in:
aixianling
2022-06-28 15:48:12 +08:00
parent 361792c48d
commit 352ae43faa

View File

@@ -10,6 +10,7 @@ export default {
props: { props: {
width: {default: 400}, width: {default: 400},
height: {default: 300}, height: {default: 300},
is3D: Boolean
}, },
data() { data() {
return { return {
@@ -20,7 +21,12 @@ export default {
init(count = 0) { init(count = 0) {
const container = this.$refs[this.ref] const container = this.$refs[this.ref]
if (container) { if (container) {
let loadTasks = []
let {width, height} = this.$props let {width, height} = this.$props
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}), const scene = new spritejs.Scene({container, width, height, ...this.$attrs}),
layer = scene.layer() layer = scene.layer()
/** /**
@@ -28,6 +34,7 @@ export default {
* lib spritejs的依赖库 * lib spritejs的依赖库
*/ */
this.$emit("init", {layer, lib: spritejs}) this.$emit("init", {layer, lib: spritejs})
})
} else if (count == 20) { } else if (count == 20) {
console.log(this.$refs) console.log(this.$refs)
} else setTimeout(() => this.init(++count), 500) } else setTimeout(() => this.init(++count), 500)