赞 | 7 |
VIP | 20 |
好人卡 | 0 |
积分 | 16 |
经验 | 11472 |
最后登录 | 2024-2-14 |
在线时间 | 526 小时 |
Lv3.寻梦者 宛若
- 梦石
- 0
- 星屑
- 1563
- 在线时间
- 526 小时
- 注册时间
- 2007-8-19
- 帖子
- 1493
|
这是全部的代码吗?
如果是的话,那你没有定义Galv和Galv.Cache,你按F12应该能在Console中看到错误
- var Galv = Galv || {}; // Galv's main object
- Galv.CACHE = Galv.CACHE || {}; // Galv's stuff
复制代码
需要把源代码中的这两句加上去
同时,=>函数的this和外层相同,所以你的this.loadBitmap里的this实际上是Window。
参考:https://developer.mozilla.org/zh ... %8B%AC%E7%9A%84this
应该改成ImageManager.reserveSpecific = function(folder, filename) {
最后,loadBitmap 加载的bitmap会在 Scene_Map的OnTransfer中清除,MV中原插件使用的是reverseBitmap,MZ似乎删去了reverseBitmap,导致你在Scene_Boot加载的图片会在第一次进入地图时就被释放。
一个比较简单的解决方案是把你需要Cache的文件放到System文件夹下(或者让路径中包括/System/)这个文件夹下的图片使用的Cache和其他不是同一个,System的Cache不会在clear中被释放。
第二个方案是重写ImageManager.loadBitmapFromUrl,如果检测到当前加载的Url是你需要常驻内存的Url,就把它放到_system中。 |
评分
-
查看全部评分
|