学习了, |
ruby和javascript加载图片的机理不太一样。 可以理解为: va中的图片完全是同步加载的,意思就是说只有这张图片加载完毕后,才会进行渲染,然后继续执行下面的指令;相当于读取图片时阻碍了脚本的继续执行,阻塞。 但是mz中提供的读取图片的接口是异步的,执行drawActorsFace的时候,这个指令内部在加载图片,图片还没有加载完的时候就渲染,然后下面的指令也继续执行。 因为渲染或者绘制的时候图片还没有加载完,所以无法正常绘制,这个问题从mv到mz都没有解决。 也就是说,必须在图片加载完成后再执行一次drawActorsFace进行绘制。 至于解决办法的话有许多,根据插件的性质来设计。 这里最简单的办法是从参考mz自己的解决办法: rmmz的1.5.0版本的核心文件rmmz_windows.js中1683行的解决办法: JAVASCRIPT 代码复制
说白了,就是在initialize窗口的时候就完全将所有的角色脸图都读取一遍,相当于在绘制前就已经预读取了。 绘制的时候就已经加载完脸图,可以正常绘制了。 Window_StatusBase是菜单中的一个窗口,放到场景scene中的initialize中大概也行...... |
本帖最后由 我是大仙 于 2022-7-8 19:27 编辑 然而在RMVA里写一个同样的脚本就没有问题。 是否是我的编写格式出错了? |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-23 12:44
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.