Project1

标题: 请问如何调用ImageCache预加载图像进缓存? [打印本页]

作者: 526396987    时间: 2019-4-20 03:34
标题: 请问如何调用ImageCache预加载图像进缓存?
请问如何调用ImageCache的方法来把自己决定要用到的图片提前加载进缓存?这样当要用到这张图片时,系统会从缓存读取,而不是MV默认的那样从硬盘即用即


在rpg_core和rpg_manager中找到了关于ImageCache的相关方法,但是不清楚具体该怎么调用,还请大神指点!谢谢各位!

作者: 芯☆淡茹水    时间: 2019-4-20 03:34
稍微改一下也许就行了的,把要先预存的图片  路径 和 图片名 添加到 ReserveImages 里。

  1. var ReserveImages = [
  2.     {folder:'img/faces/',       name:'Actor1'},
  3.     {folder:'img/animations/',  name:'Breath'}
  4. ];
  5. var LastSceneBootLoadSystemImagesForOther = Scene_Boot.loadSystemImages;
  6. Scene_Boot.loadSystemImages = function() {
  7.     LastSceneBootLoadSystemImagesForOther.call(this);
  8.     this.loadOtherImages();
  9. };
  10. Scene_Boot.loadOtherImages = function() {
  11.     ReserveImages.forEach(function(obj){
  12.         ImageManager.reserveBitmap(obj.folder, obj.name, 0, true);
  13.     });
  14. };
复制代码

作者: 芯☆淡茹水    时间: 2019-4-20 06:30
本帖最后由 芯☆淡茹水 于 2019-4-20 06:32 编辑

看看 Scene_Boot
作者: 芯☆淡茹水    时间: 2019-4-20 07:07
照着写啊,那个就是预读。
可以 reservePicture   reserveFace  ,,,,,,什么的,都可以
作者: 526396987    时间: 2019-4-20 07:50
芯☆淡茹水 发表于 2019-4-20 07:07
照着写啊,那个就是预读。
可以 reservePicture   reserveFace  ,,,,,,什么的,都可以 ...

谢谢回复,如果我想把一张图片预加载进变量里,然后在其他的插件里调用这个变量,请问我这样写可以吗:
  1. this._iconImg = ImageManager.reserveBitmap('img/menus/main/', 'IconSet', 0, true);
复制代码

然后在其他插件里创建位图的时候:
  1. this._xxx = new Sprite(this._iconImg);
复制代码

不知道这样是否可行呢?
作者: 芯☆淡茹水    时间: 2019-4-20 08:25
526396987 发表于 2019-4-20 07:50
谢谢回复,如果我想把一张图片预加载进变量里,然后在其他的插件里调用这个变量,请问我这样写可以吗:
...

可以是可以,但是觉得有些多余了。
MV 读取图片,比如 picture
第一次 ImageManager.loadPicture(图片A) 时, 内存没有对应图片数据,需要异步读取。
第二次 ImageManager.loadPicture(图片A) 时,  由于第一次已经读取,内存里面有该图片数据,就不需要再异步
读取图片,此时就是直接获取。
如果先 ImageManager.reservePicture(图片A) , 以后 ImageManager.loadPicture(图片A) 时都是直接获取,没有必要再存到另外的地方。
作者: kinbak    时间: 2019-4-20 08:53
插件TDDP_PreloadManager.js

TDDP_PreloadManager.7z

5.06 KB, 下载次数: 21

售价: 1 星屑  [记录]


作者: 526396987    时间: 2019-4-20 09:00
kinbak 发表于 2019-4-20 08:53
插件TDDP_PreloadManager.js

你好!我有用SRD的preloader插件,但有个问题就是,虽然预加载插件把资源加载到缓存中了,但是如果有其他需要用到图片、音频资源的插件,那么这些其他的插件还是会先从硬盘读取一次资源,之后的读取才是从缓存中拿。
简而言之就是perload插件不能把已加载进缓存的资源用变量储存以供其他插件调用,我目前就卡在这个问题上
作者: kinbak    时间: 2019-4-20 10:37
526396987 发表于 2019-4-20 09:00
你好!我有用SRD的preloader插件,但有个问题就是,虽然预加载插件把资源加载到缓存中了,但是如果有其他 ...

暂时想不到如何解决,看看其他大神怎么回复吧XP




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