2017-02-03 78 views
0

我正在PixiJS应用程序中打扮我的角色。 因此,不同的PNG图像被加载到Pixi阶段。检测加载的pixi画布图像

有一个按钮来完成修整角色,它使用.toDataURL()方法保存当前画布。

问题是,用户可以点击改变例如T恤,而T恤正在改变,他可以点击完成按钮,但如果T恤没有完全加载它节省帆布没有T恤。

当我的修整功能完成时,我已经使JS回调来解锁完成按钮。

事情是,JavaScript代码成功完成并替换画布图像,但图像需要几秒/毫秒(取决于互联网速度)加载。

在此期间,如果用户单击完成按钮,可能会导致画布不完整。

有没有什么办法可以检测到画布图像是否满载?

非常感谢先进!

约瑟普

回答

2

你只需要使用一个图像加载器,并确保PNG图像已加载,浏览器,图像插入到画布前。所以使用这个:http://pixijs.download/release/docs/PIXI.loaders.Loader.html

+0

感谢哈奇你的答案。创建加载程序后,我尝试使用loader.load()添加图像,然后调用loader.once('complete',unlockFinishButton)来解锁我的完成按钮?在我的图像被浏览器加载之前,unlockFinishButton完成。可能我没有理解你,也没有理解你的装载机。 ? – NavCore

+0

对不起,速度慢。加载器使用html图像元素加载资源。因此,当加载器完成时,浏览器已加载它们。至少我真的没有看到可能存在的问题。你可以在plunkr(https://plnkr.co)或jsfiddle中提供一个小脚本,我可以尝试在那里检查和调试它吗?会更容易,因为加载器应该解决这个问题,unles我误解了这个问题,这也应该告诉你。 – Hachi

+0

是的,装载机解决了我的问题。我使用loader加载所有图像,然后loader.once('complete',callback) - >在回调函数中,我从加载器资源创建精灵并将它们添加到舞台上。 – NavCore