设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 7117|回复: 12
打印 上一主题 下一主题

[有事请教] 求一个提前加载图片的插件

[复制链接]

Lv1.梦旅人

梦石
0
星屑
230
在线时间
21 小时
注册时间
2019-1-12
帖子
23
跳转到指定楼层
1
发表于 2019-1-15 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
求一个进入游戏前吧所有图片提前隐藏加载一遍的插件

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10110
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

2
发表于 2019-1-15 15:13:22 | 只看该作者
本帖最后由 VIPArcher 于 2019-1-15 15:14 编辑

MV是有预加载图片的方法的,你可以写个插件里面写上你需要预加载的素材。
  1. (function() {
  2.     var _Scene_Boot_loadSystemImages = Scene_Boot.loadSystemImages;
  3.     Scene_Boot.loadSystemImages = function() {
  4.         _Scene_Boot_loadSystemImages.call(this);
  5.         ImageManager.requestBitmap('img/system/','你的素材文件名');
  6.         // 继续添加其他的缓存图片
  7.     };
  8. })();
复制代码

顺便1.5版本以前好像不叫这个名字可能是 ImageManager.loadBitmap('img/titles2/','你的素材文件名') 之类的吧。具体我也没用1.5以前的源码(X

评分

参与人数 1+1 收起 理由
白嫩白嫩的 + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
230
在线时间
21 小时
注册时间
2019-1-12
帖子
23
3
 楼主| 发表于 2019-1-15 15:30:44 | 只看该作者
谢谢我试试
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

4
发表于 2019-1-15 15:44:57 | 只看该作者
还是建议使用
//首先BITMAP获取图片
var bitmap = ImageManager.loadFace(actor.faceName());
  bitmap.addLoadListener(function() {

//BITMAP有图片后,才会执行这里的内容
    要执行的内容

    }.bind(this));

在要读取的时候执行
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3382
在线时间
1124 小时
注册时间
2015-12-24
帖子
246
5
发表于 2019-1-15 18:54:51 | 只看该作者
借帖一问,有方法可以直接选择文件夹让MV预加载整个文件夹的图片吗?
目前找到的都是要指定图片档名的,但图片量大的时候(一千多个)一个一个打上去太累人了...
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
378
在线时间
22 小时
注册时间
2017-1-14
帖子
17
6
发表于 2019-1-15 23:07:37 | 只看该作者
脚本 可以设置吧?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3424
在线时间
461 小时
注册时间
2013-12-7
帖子
333
7
发表于 2019-1-16 14:13:54 | 只看该作者
本帖最后由 ekmomo 于 2019-1-16 14:20 编辑
  1. (function (){
  2.         var path = require('path').dirname(process.mainModule.filename) + "\\img";
  3.         var fs = require("fs");
  4.         var folders = fs.readdirSync(path);
  5.         folders.forEach(function(folder){
  6.                 var imgs = fs.readdirSync(path + "\\" + folder);
  7.                 imgs.forEach(function(img){
  8.                         if (img.indexOf(".png") !== -1){
  9.                                 ImageManager.reserveBitmap("img/" + folder + "/", img.replace(".png",""));
  10.                         }
  11.                 }, this);
  12.         }, this);
  13. })();
复制代码

插件点此下载 preloadimg.zip (476 Bytes, 下载次数: 132)

部署为网页的话拿不到FS模块,可以自己稍微改下生成一个json文件,然后加载文件列表就好了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
230
在线时间
21 小时
注册时间
2019-1-12
帖子
23
8
 楼主| 发表于 2019-2-2 16:58:27 | 只看该作者
ekmomo 发表于 2019-1-16 14:13
插件点此下载

部署为网页的话拿不到FS模块,可以自己稍微改下生成一个json文件,然后加载文件列表就好了 ...

这个怎么用朋友
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
230
在线时间
21 小时
注册时间
2019-1-12
帖子
23
9
 楼主| 发表于 2019-2-2 18:00:49 | 只看该作者
yang1zhi 发表于 2019-1-15 15:44
还是建议使用
//首先BITMAP获取图片
var bitmap = ImageManager.loadFace(actor.faceName());

怎么用老铁
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

10
发表于 2019-2-2 20:40:06 | 只看该作者

平时,不都是
var bitmap = ImageManager.loadFace(actor.faceName());
类似这样的来读取图片的吗
此时图片要是没有预存,就是空的了。
要先预存一下,下次才会有。
这个时候
在下方添加这样一段
bitmap是你存图片的那个变量
bitmap.addLoadListener(function() {

//BITMAP有图片后,才会执行这里的内容
    要执行的内容

    }.bind(this));

把打印图片写到这个中间,那他必然是在完成预存图片后,再打印图片
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-12 13:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表