Project1

标题: 萌新请问循环显示图片会闪的问题 [打印本页]

作者: dududu521    时间: 2020-12-31 18:30
标题: 萌新请问循环显示图片会闪的问题
我的事件没有问题运行正常,就是每次开始前图片会闪两下才开始动。
请教下这个问题怎么解决呢?
小白不会用脚本,如果可以别的方式解决最好了(星星眼)
实在不行的话,我就去学脚本!(不过全英文和数字,躲在墙角哭泣嘤嘤嘤……)
作者: 百里_飞柳    时间: 2020-12-31 18:45
至少截个事件指令的图

推测是因为用了太多重复的显示图片

实际上显示图片只需要在循环的外部用一次就行,就是最开始告诉一声这个ID显示这张图片,
之后对这个ID进行移动图片的处理就好,调整移动图片里面的透明度、帧数、等待移动结束就能制作淡入淡出

作者: dududu521    时间: 2020-12-31 19:03

不好意思,因为事件没问题我就没截图,不好意思啊。
我测试过了,应该就是加载的问题,我设置循环,只有第一次加载会这样能够,之后再点击事件就不会闪了。
作者: xiamumomo    时间: 2020-12-31 19:55
dududu521 发表于 2020-12-31 19:03
不好意思,因为事件没问题我就没截图,不好意思啊。
我测试过了,应该就是加载的问题,我设置循环,只有第 ...

你循环 显示图片和消除图片他执行起来当然就是一闪一闪的
作者: PLeaseS    时间: 2020-12-31 20:31
本帖最后由 PLeaseS 于 2020-12-31 20:34 编辑

可以看看我那个事件标题模板
解决了闪图的问题
说白了就是mv没加载完资源就开游戏了
你第一次显示图片闪一下
不过我看不到你发的图片23333333

貌似我签名里面的教程贴也有讲到图片闪一下的问题2333
没事可以看看
(太辣鸡了轻喷)
作者: dududu521    时间: 2020-12-31 20:44
xiamumomo 发表于 2020-12-31 19:55
你循环 显示图片和消除图片他执行起来当然就是一闪一闪的

不是的,是循环之前闪两下
作者: dududu521    时间: 2020-12-31 20:44
PLeaseS 发表于 2020-12-31 20:31
可以看看我那个事件标题模板
解决了闪图的问题
说白了就是mv没加载完资源就开游戏了

太感谢亲了,我虽然自己也在论坛搜索了预加载,循环图片等问题,但好像关键字没找对,谢谢亲细心的教导。
作者: xiamumomo    时间: 2020-12-31 21:10
dududu521 发表于 2020-12-31 20:44
太感谢亲了,我虽然自己也在论坛搜索了预加载,循环图片等问题,但好像关键字没找对,谢谢亲细心的教导。 ...

https://rpg.blue/thread-411583-1-1.html
作者: dududu521    时间: 2020-12-31 21:23
xiamumomo 发表于 2020-12-31 21:10
https://rpg.blue/thread-411583-1-1.html

谢谢,我正一个字一个的的对照着英语翻译在查意思,看要怎么用
作者: dududu521    时间: 2020-12-31 21:39
是不是在脚本里写一个PreloadAudio [pictures] [1 2]
上面就是我的图片文件存档和文件名,然后挨个编辑把图片全部加进去就可以了?
作者: dududu521    时间: 2020-12-31 21:50
喔,原来那个是制作加载页面的
作者: 芯☆淡茹水    时间: 2021-1-2 14:02
本帖最后由 芯☆淡茹水 于 2021-1-2 14:15 编辑

把下面这段代码,找一个插件加进去。 或者游戏开始时自动运行一个 事件 - 脚本 。
这个只对事件当前页所有 显示图片 的项进行加载。 如果当前页显示的图片实在太多的话,事件开始运行时可能会停顿一下。
  1. ;(function(){
  2.     var XR_Game_Interpreter_setup = Game_Interpreter.prototype.setup;
  3.     Game_Interpreter.prototype.setup = function(list, eventId) {
  4.         XR_Game_Interpreter_setup.call(this, list, eventId);
  5.         this.startRequestPictures();
  6.     };
  7.     Game_Interpreter.prototype.startRequestPictures = function() {
  8.         if (this._list) {
  9.             this._tempPicturesName = [];
  10.             for (var i=0;i<this._list.length;++i) {
  11.                 if (this._list[i].code === 231) {
  12.                     var name = this._list[i].parameters[1];
  13.                     if (name) {
  14.                         ImageManager.loadPicture(name);
  15.                         this._tempPicturesName.push(name);
  16.                     }
  17.                 }
  18.             }
  19.             if (this._tempPicturesName.length === 0) {
  20.                 this._tempPicturesName = null;
  21.             }
  22.         }
  23.     };
  24.     Game_Interpreter.prototype.isRequestingPictures = function() {
  25.         return !!this._tempPicturesName;
  26.     };
  27.     Game_Interpreter.prototype.isAllPicturesRequested = function() {
  28.         var result = this._tempPicturesName.every(function(name){
  29.             return ImageManager.loadPicture(name).isReady();
  30.         });
  31.         if (result) this._tempPicturesName = null;
  32.         return result;
  33.     };
  34.     var XR_Game_Interpreter_updateWait = Game_Interpreter.prototype.updateWait;
  35.     Game_Interpreter.prototype.updateWait = function() {
  36.         if (this.isRequestingPictures() && !this.isAllPicturesRequested()) return true;
  37.         return XR_Game_Interpreter_updateWait.call(this);
  38.     };
  39. }());
复制代码

作者: dududu521    时间: 2021-1-2 23:24
芯☆淡茹水 发表于 2021-1-2 14:02
把下面这段代码,找一个插件加进去。 或者游戏开始时自动运行一个 事件 - 脚本 。
这个只对事件当前页所有  ...

谢谢亲,他说运行失败。
我就是复制粘贴在脚本里的

不过我之前用笨办法,就是在空白处挨个透明度0的显示了一遍
虽然很麻烦,但不是不行
作者: zths    时间: 2021-1-3 11:15
dududu521 发表于 2021-1-2 23:24
谢谢亲,他说运行失败。
我就是复制粘贴在脚本里的


调换一下事件顺序。
先显示图片2再消除图片1.
不行的话可以加几帧延迟在 显示2之后 消除1之前
作者: dududu521    时间: 2021-1-3 15:30
zths 发表于 2021-1-3 11:15
调换一下事件顺序。
先显示图片2再消除图片1.
不行的话可以加几帧延迟在 显示2之后 消除1之前 ...

谢谢亲,我已经解决了,笨办法挨个透明度0显示




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1