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

Project1

 找回密码
 注册会员
搜索
查看: 1410|回复: 15

[交流讨论] 求教一个图片预加载的插件

[复制链接]

Lv2.观梦者

梦石
0
星屑
490
在线时间
60 小时
注册时间
2023-7-19
帖子
64
发表于 2023-8-17 05:57:24 | 显示全部楼层 |阅读模式

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

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

x
目前自制的游戏由于立绘的太大太多,出现了不管打开什么或者过图都要加载一段时间的问题,,需求一个能预加载的插件,有插件的大佬能帮助一下吗

Lv3.寻梦者

梦石
0
星屑
2020
在线时间
301 小时
注册时间
2020-8-20
帖子
58
发表于 2023-8-17 09:46:19 | 显示全部楼层
试试过个
DKTools
https://dk-plugins.ru/mz/dktools/
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
490
在线时间
60 小时
注册时间
2023-7-19
帖子
64
 楼主| 发表于 2023-8-17 17:22:57 | 显示全部楼层
pkeasygod 发表于 2023-8-17 09:46
试试过个
DKTools
https://dk-plugins.ru/mz/dktools/

额...多谢,但,很痛苦,我机翻了注释来看,有说是
==============

###初始预压###

允许您在启动游戏时预加载音频和图像文件。



##重要##

仅预加载您真正需要的文件,例如,接口元素!

不要加载游戏地图上使用的图像和声音!

使用“地图预加载”功能!



##自定义路径##

为了预加载具有资源的整个文件夹或具有非标准路径的文件,

您必须在“文本”选项卡而不是“文件”选项卡中指定“路径”。



###=========================================================================

###地图预加载###

允许您在特定地图上预加载音频和图像文件。



##自定义路径##

为了预加载具有资源的整个文件夹或具有非标准路径的文件,

您必须在“文本”选项卡而不是“文件”选项卡中指定“路径”。

但,,我不知道再那开啊,英文不行啊
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4006
在线时间
169 小时
注册时间
2021-3-31
帖子
201
发表于 2023-8-18 17:30:03 | 显示全部楼层
dk的?图片的加载基本上每个插件但凡涉及到图片的地方都有,除非是写法有问题,如果要沿用rm的bitmap的话我可以写个单纯的预加载某个或者某些场景的图片?如果要针对某个文件夹下的所有图片也没问题,前提是付费购买,50rmb????,仅适用于,如果不沿用rm的bitmap,往往加载速度更快,但是需要同时处理相应的插件,转换格式
mv/mz系列插件定制/修改/移植
mv/mz spine系列插件出售
mz底层取代中,webgpu/webgl即将同时启动
个人QQ2311993475,有需求注明来意
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
490
在线时间
60 小时
注册时间
2023-7-19
帖子
64
 楼主| 发表于 2023-8-18 21:30:31 | 显示全部楼层
闪电超重火炮 发表于 2023-8-18 17:30
dk的?图片的加载基本上每个插件但凡涉及到图片的地方都有,除非是写法有问题,如果要沿用rm的bitmap的话我 ...

可以,不管因为我是利用空闲时间去制作的(现在在做单子~)~所以会在过段时间有时间做了,考虑一下,因为现在是用插件了,但还没时间研究,先谢谢了~
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5606
在线时间
957 小时
注册时间
2015-2-6
帖子
160

开拓者

发表于 2023-8-19 11:05:21 | 显示全部楼层
画像の事前読み込みを改善します,mit协议
JAVASCRIPT 代码复制下载
  1. //=============================================================================
  2. // PANDA_ImagePreLoad.js
  3. //=============================================================================
  4. // [Update History]
  5. // 2021-05-29 Ver.1.0.0 First Release for MZ.
  6. // 2021-06-23 Ver.1.1.0 fix for subfolder (MZ 1.3.0).
  7. // 2021-07-05 Ver.1.1.1 revert fix for subfolder (MZ 1.3.2).
  8.  
  9. /*:
  10.  * @target MZ
  11.  * @plugindesc Improve image preloading.
  12.  * @author panda(werepanda.jp)
  13.  * @url [url]http://www.werepanda.jp/blog/20210529185556.html[/url]
  14.  *
  15.  * @help Improve image preloading to eliminate image display lag.
  16.  *
  17.  * By default, when the event starts, the face images of [Show Text]
  18.  * and the picture images of [Show Picture] in the 200 lines
  19.  * from the beginning of the event are loaded first.
  20.  * This allows the images to be displayed quickly when they are actually used.
  21.  * However, since there is no additional preloading of images appearing after
  22.  * the 200th line, the lag will be noticeable later in the long event.
  23.  *
  24.  * To solve this problem,
  25.  * this plugin allows you to set the number of lines to preload.
  26.  * When the number is 0, all lines of the event will be preloaded.
  27.  * However, if the event is very long, it may take some time to preload.
  28.  * In addition to the face images of Show Text and the picture of Show Picture,
  29.  * the parallaxe images of [Change Parallax] and the character images of
  30.  * [Change Image] in [Set Movenemt Route] are also preloaded.
  31.  *
  32.  * You can also use the plugin command "Preload Image" to preload any images.
  33.  *
  34.  * [License]
  35.  * this plugin is released under MIT license.
  36.  * [url]https://opensource.org/licenses/mit-license.php[/url]
  37.  *
  38.  * @param SliceRows
  39.  * @text Preload Lines
  40.  * @desc Specify the number of lines to be preloaded in the event. 0 means all lines will be preloaded.
  41.  * @type number
  42.  * @default 0
  43.  * @min 0
  44.  *
  45.  * @command PRELOAD_IMAGE
  46.  * @text Preload Image
  47.  * @desc Preload the specified image file.
  48.  *
  49.  * @arg file
  50.  * @text Image File Name
  51.  * @desc Specify the image file to be preloaded.
  52.  * @type file
  53.  * @dir img/
  54.  *
  55.  */
  56.  
  57. /*:ja
  58.  * @target MZ
  59.  * @plugindesc 画像の事前読み込みを改善します。
  60.  * @author panda(werepanda.jp)
  61.  * @url [url]http://www.werepanda.jp/blog/20210529185556.html[/url]
  62.  *
  63.  * @help 画像の事前読み込みを改善して、画像の表示ラグを解消します。
  64.  *
  65.  * デフォルトでは、イベント開始時にイベントの先頭から200行目までにある
  66.  * 「文章の表示」の顔グラフィックと「ピクチャの表示」の画像を先に読み込んで
  67.  * 実際の使用時に画像を素早く表示できるようになっています。
  68.  * しかし、200行目以降に登場する画像を追加で先読みすることはないため、
  69.  * 長いイベントの場合、後半は画像の表示ラグが目立ってしまいます。
  70.  *
  71.  * そこで、プラグインパラメータで先読み行数を任意に設定できるようにしました。
  72.  * 先読み行数を 0 にすると、イベントの全行を先読みします。
  73.  * ただし、非常に長いイベントの場合は先読みに時間がかかる可能性があります。
  74.  * また「文章の表示」の顔グラフィックと「ピクチャの表示」の画像以外に、
  75.  * 「遠景の変更」の遠景画像と「移動ルートの設定」中の「画像の変更」で
  76.  * 使われる画像ファイルも、先読みしてくれるようになっています。
  77.  *
  78.  * また、プラグインコマンド「画像先読み」で、任意の画像を先読みできます。
  79.  * あわせてご利用ください。
  80.  *
  81.  * ■ 利用規約
  82.  * このプラグインはMITライセンスで配布されます。
  83.  * ご自由にお使いください。
  84.  * [url]https://opensource.org/licenses/mit-license.php[/url]
  85.  *
  86.  * @param SliceRows
  87.  * @text 先読み行数
  88.  * @desc イベントで画像の先読み対象となる行数を指定します。0を指定すると全行が対象になります。
  89.  * @type number
  90.  * @default 0
  91.  * @min 0
  92.  *
  93.  * @command PRELOAD_IMAGE
  94.  * @text 画像先読み
  95.  * @desc 指定した画像ファイルを先読みします。
  96.  *
  97.  * @arg file
  98.  * @text 画像ファイル名
  99.  * @desc 先読みする画像ファイルを指定します。
  100.  * @type file
  101.  * @dir img/
  102.  *
  103.  */
  104.  
  105. /*:ko
  106.  * @target MZ
  107.  * @plugindesc 이미지의 미리 불러오기를 개선합니다.
  108.  * @author panda(werepanda.jp)
  109.  * @url [url]http://www.werepanda.jp/blog/20210529185556.html[/url]
  110.  *
  111.  * @help 이미지의 미리 불러오기를 개선하여 이미지의 표시 렉을 해소합니다.
  112.  *
  113.  * 기본적으로 이벤트가 시작할 때에 이벤트 명령의 처음부터 200행까지
  114.  * "텍스트 표시"의 얼굴 이미지와 "그림 표시"의 그림을 미리 불러오고
  115.  * 실제로 사용할 때에 그 이미지를 빠르게 표시할 수 있습니다.
  116.  * 그러나 200행 이후에 등장하는 이미지를 추가로 불러오지는 않기 때문에
  117.  * 긴 이벤트의 경우 후반은 이미지의 표시 렉이 눈에 띕니다.
  118.  *
  119.  * 그래서 플러그인 매개 변수로 미리 불러올 행수를 설정할 수 있도록 했습니다.
  120.  * 행수를 0으로 하면, 이벤트의 모든 행을 미리 불러옵니다.
  121.  * 다만 매우 긴 이벤트의 경우는 미리 불러오는데 시간이 걸릴 가능성이 있습니다.
  122.  * 또한 "텍스트 표시"의 얼굴 이미지와 "그림 표시"의 그림 이미지 이외에도
  123.  * "먼 배경 변경"과 "이동 루트 설정"중의 "이미지 변경"에서 사용되는
  124.  * 이비지 파일도 미리 불러오기 해줍니다.
  125.  *
  126.  * 또 플러그인 명령 "이미지 미리 불러오기"로, 임의의 이미지를 미리 불러오기
  127.  * 할 수 있습니다. 함께 이용하시기 바랍니다.
  128.  *
  129.  * [이용 약관]
  130.  * 이 플러그인은 MIT 라이센스로 공개됩니다.
  131.  * [url]https://opensource.org/licenses/mit-license.php[/url]
  132.  *
  133.  * @param SliceRows
  134.  * @text 미리 불러올 행수
  135.  * @desc 이벤트에서 이미지 미리 불러오기 대상이 될 행수를 지정합니다. 0을 지정하면 모든 행이 대상이 됩니다.
  136.  * @type number
  137.  * @default 0
  138.  * @min 0
  139.  *
  140.  * @command PRELOAD_IMAGE
  141.  * @text 이미지 미리 불러오기
  142.  * @desc 지정된 이미지 파일을 미리 불러옵니다.
  143.  *
  144.  * @arg file
  145.  * @text 이미지 파일명
  146.  * @desc 미리 불러올 이미지 파일을 지정합니다.
  147.  * @type file
  148.  * @dir img/
  149.  *
  150.  */
  151.  
  152.  
  153. (() => {
  154.         'use strict';
  155.  
  156.         // This Plugin Name
  157.         const pluginName = decodeURIComponent(document.currentScript.src).match(/([^\/]+)\.js$/)[1];
  158.  
  159.         // Parameters
  160.         const parameters = PluginManager.parameters(pluginName);
  161.         const SliceRows = parseInt(parameters['SliceRows']) || 0;
  162.  
  163.  
  164.         //--------------------------------------------------
  165.         // Plugin Command "PreLoad Image"
  166.         //--------------------------------------------------
  167.         PluginManager.registerCommand(pluginName, 'PRELOAD_IMAGE', function(args) {
  168.  
  169.                 // get arguments
  170.                 const file = args['file'] || '';
  171.  
  172.                 // preload image
  173.                 if (file !== '') {
  174.                         ImageManager.loadBitmap('img/', file);
  175.                 }
  176.  
  177.         });
  178.  
  179.  
  180.         //--------------------------------------------------
  181.         // Game_Interpreter.loadImages
  182.         //  [Modified Definition]
  183.         //--------------------------------------------------
  184.         const _Game_Interpreter_loadImages = Game_Interpreter.prototype.loadImages;
  185.         Game_Interpreter.prototype.loadImages = function() {
  186.                 // slice event commands (if SliceRows = 0, get all commands)
  187.                 const list = (SliceRows > 0) ? this._list.slice(0, SliceRows) : this._list;
  188.                 for (const command of list) {
  189.                         switch (command.code) {
  190.                                 case 101: // Show Text
  191.                                         ImageManager.loadFace(command.parameters[0]);
  192.                                         break;
  193.                                 case 231: // Show Picture
  194.                                         ImageManager.loadPicture(command.parameters[1]);
  195.                                         break;
  196.                                 case 284: // Change Parallax (added)
  197.                                         ImageManager.loadParallax(command.parameters[0]);
  198.                                         break;
  199.                                 case 205: // Set Movement Route (added)
  200.                                         const commands = command.parameters[1].list;
  201.                                         for (const cmd of commands) {
  202.                                                 switch (cmd.code) {
  203.                                                         case 41:        // Change Character
  204.                                                                 ImageManager.loadCharacter(cmd.parameters[0]);
  205.                                                                 break;
  206.                                                 }
  207.                                         }
  208.                                         break;
  209.                         }
  210.                 }
  211.         };
  212.  
  213. })();

好久没用论坛代码功能,试一下
此书生之言,可言而不可用也 ↑-_-||

仓管610早晚班,没多余精力做别的了 →_→
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
490
在线时间
60 小时
注册时间
2023-7-19
帖子
64
 楼主| 发表于 2023-8-19 16:19:23 | 显示全部楼层
戏蹑群星斗 发表于 2023-8-19 11:05
画像の事前読み込みを改善します,mit协议
//========================================================== ...

啊,,,这个怎么用,,我是画师,只知道一点点代码知识~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4006
在线时间
169 小时
注册时间
2021-3-31
帖子
201
发表于 2023-8-21 22:50:32 | 显示全部楼层
~谓伊~ 发表于 2023-8-18 21:30
可以,不管因为我是利用空闲时间去制作的(现在在做单子~)~所以会在过段时间有时间做了,考虑一下,因为 ...

问题不大,图片数量过多还有一种解决方式是使用纹理打包
mv/mz系列插件定制/修改/移植
mv/mz spine系列插件出售
mz底层取代中,webgpu/webgl即将同时启动
个人QQ2311993475,有需求注明来意
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1176
在线时间
108 小时
注册时间
2007-12-15
帖子
57
发表于 2023-8-22 15:42:56 | 显示全部楼层
你看下这个视频,有个延迟处理的方法。使用setTimeout函数
【【RMMZ】边打星铁边做游戏 #5 背包格子-哔哩哔哩】 https://b23.tv/h8d6yGW
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
490
在线时间
60 小时
注册时间
2023-7-19
帖子
64
 楼主| 发表于 2023-8-22 23:13:58 | 显示全部楼层
wu5563 发表于 2023-8-22 15:42
你看下这个视频,有个延迟处理的方法。使用setTimeout函数
【【RMMZ】边打星铁边做游戏 #5 背包格子-哔哩哔 ...

非常感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-7-16 20:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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