Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测加载的Pixi画布图像_Javascript_Jquery_Canvas_Pixi.js - Fatal编程技术网

Javascript 检测加载的Pixi画布图像

Javascript 检测加载的Pixi画布图像,javascript,jquery,canvas,pixi.js,Javascript,Jquery,Canvas,Pixi.js,我正在开发PixiJS应用程序,在那里我可以装扮我的角色。 因此,不同的PNG图像被加载到Pixi stage 有一个按钮用于完成角色的穿衣,它使用.toDataURL()方法保存当前画布 问题是,用户可以单击以更改例如t恤,当t恤正在更改时,他可以单击“完成”按钮,但如果t恤未完全加载,则会在不使用t恤的情况下保存画布 当我的穿衣功能完成时,我已经进行JS回调以解锁“完成”按钮 关键是javascript代码成功完成并替换画布图像,但图像需要几秒/毫秒(取决于互联网速度)才能加载 在此期间,如

我正在开发PixiJS应用程序,在那里我可以装扮我的角色。 因此,不同的PNG图像被加载到Pixi stage

有一个按钮用于完成角色的穿衣,它使用.toDataURL()方法保存当前画布

问题是,用户可以单击以更改例如t恤,当t恤正在更改时,他可以单击“完成”按钮,但如果t恤未完全加载,则会在不使用t恤的情况下保存画布

当我的穿衣功能完成时,我已经进行JS回调以解锁“完成”按钮

关键是javascript代码成功完成并替换画布图像,但图像需要几秒/毫秒(取决于互联网速度)才能加载

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

是否有任何方法可以检测画布图像是否已完全加载

提前感谢


Josip

在将图像插入画布之前,您只需使用图像加载程序,并确保浏览器已加载png图像。因此,请使用以下方法:

在将图像插入画布之前,您只需使用图像加载程序,并确保浏览器已加载png图像。所以用这个:

谢谢八公的回答。创建loader后,我尝试使用loader.load()添加图像,然后调用loader.once('complete',unlockFinishButton)来解锁我的finish按钮?在浏览器加载我的图像之前,unlockFinishButton完成。也许我不太了解你,也不太了解装载机?对不起,我太慢了。加载程序使用html图像元素加载资源。因此,当加载程序完成时,浏览器已加载它们。至少我没有看到可能存在的问题。你能用plunkr()或jsfiddle为我提供一个小脚本,我可以在那里检查和调试它吗?会更容易,因为装载机应该解决问题,除非我误解了问题,这也应该告诉tha。是的,装载机解决了我的问题。我使用loader加载所有图像,然后使用loader。一旦('complete',callback)->在回调中,我从loader资源创建我的精灵并将它们添加到stage。感谢Hachi的回答。创建loader后,我尝试使用loader.load()添加图像,然后调用loader.once('complete',unlockFinishButton)来解锁我的finish按钮?在浏览器加载我的图像之前,unlockFinishButton完成。也许我不太了解你,也不太了解装载机?对不起,我太慢了。加载程序使用html图像元素加载资源。因此,当加载程序完成时,浏览器已加载它们。至少我没有看到可能存在的问题。你能用plunkr()或jsfiddle为我提供一个小脚本,我可以在那里检查和调试它吗?会更容易,因为装载机应该解决问题,除非我误解了问题,这也应该告诉tha。是的,装载机解决了我的问题。我使用loader加载所有图像,然后使用loader。一旦('complete',callback)->在回调中,我从loader资源创建我的精灵,并将它们添加到stage。