eva-engine / eva.js

Eva.js is a front-end game engine specifically for creating interactive game projects.
https://eva.js.org
MIT License
1.75k stars 108 forks source link

resource.destory()动态删除资源时报错(删除没有用到的资源) #169

Closed WuZheXiao closed 2 years ago

WuZheXiao commented 2 years ago

Expected Behavior

resource.destory(),动态删除

Current Behavior

删除resource.destory() 资源报错 WX20211215-162252

Possible Solution

是因为我还在用这个资源吗?我这边是用户长链接进来的一些头像、名称的资源,我想用户下去之后删除头像名称资源

Steps to Reproduce

WX20211215-162515 image

Environment

fanmingfei commented 2 years ago

playground 在这上面写一个简单能够复现的demo,然后把代码发出来看一下

WuZheXiao commented 2 years ago

大佬,用resource.destory()的时候是不是一定要这个资源complete等于false的时候才可以删啊

fanmingfei commented 2 years ago

大佬,用resource.destory()的时候是不是一定要这个资源complete等于false的时候才可以删啊

不是啊

fanmingfei commented 2 years ago

只要没有被使用 都可以删。

fanmingfei commented 2 years ago

image 虽然 image 对象不是同一个对象,其实他底层用的baseTexture是同一个,因为PIXI的baseTexture是以url做cache的 所以 image1 image2 如果是同一个 url 的话,pixiBaseTexture 会认为是同一个资源,多个地方使用销毁一个另外一个也会被销毁

WuZheXiao commented 2 years ago

嗯嗯,我就是钉钉那个,你把这个bug关了吧 哈哈哈