Project1

标题: 【装备立绘纸娃娃2月2日更新】SceneEquip [打印本页]

作者: 寂静的夜里    时间: 2016-1-30 11:38
标题: 【装备立绘纸娃娃2月2日更新】SceneEquip
使用相关以及授权说明


本插件只适用于单主角显示,如果想要多人物就需要自己改了
支持多角色显示!感谢夏末渐离同学为此插件进行了拓展!
具体更新请看9L



插件不更新,不维护,不修BUG,不提供指导方法,不要问为啥用不了,如果出错可能是有BUG了,因为脚本是自用的,如有问题请自行找人解决
还有界面不够好看的 请自行找人修改插件 本人不提供任何帮助


使用方法

插件信息


JAVASCRIPT 代码复制
  1. //=============================================================================
  2. /*:
  3.  * @plugindesc 装备界面立绘纸娃娃
  4.  * @author Joritian
  5.  *
  6.  * @param 第一层装备类型ID
  7.  * @default 1
  8.  *
  9.  * @param 第二层装备类型ID
  10.  * @default 2
  11.  *
  12.  * @param 第三层装备类型ID
  13.  * @default 3
  14.  *
  15.  * @param 第四层装备类型ID
  16.  * @default 4
  17.  *
  18.  * @help 立绘图片位于"img/player""人物图片文件名为"player.png",若装备ID为 XXX 则对应的文件应命名为"clothes_XXX.png".
  19.  */
  20. //=============================================================================
  21.  
  22. var parameters = PluginManager.parameters('Scene_Equip');
  23. var equipZ = [
  24.         Number(parameters['第四层装备类型ID'] || 4),
  25.         Number(parameters['第三层装备类型ID'] || 3),
  26.         Number(parameters['第二层装备类型ID'] || 2),
  27.         Number(parameters['第一层装备类型ID'] || 1),
  28. ];
  29.  
  30. Scene_Equip.prototype.create = function() {
  31.     Scene_MenuBase.prototype.create.call(this);
  32.  
  33.         this.createPlayerPicture();
  34.  
  35.     this.createHelpWindow();
  36.     this.createStatusWindow();
  37.     this.createCommandWindow();
  38.     this.createSlotWindow();
  39.     this.createItemWindow();
  40.     this.refreshActor();
  41. };
  42.  
  43. Scene_Equip.prototype.createStatusWindow = function() {
  44.     this._statusWindow = new Window_EquipStatus(180, this._helpWindow.height);
  45.     this.addWindow(this._statusWindow);
  46. };
  47.  
  48. Scene_Equip.prototype.createCommandWindow = function() {
  49.     var wx = this._statusWindow.width + 180;
  50.     var wy = this._helpWindow.height;
  51.     var ww = Graphics.boxWidth - this._statusWindow.width - 180;
  52.     this._commandWindow = new Window_EquipCommand(wx, wy, ww);
  53.     this._commandWindow.setHelpWindow(this._helpWindow);
  54.     this._commandWindow.setHandler('equip',    this.commandEquip.bind(this));
  55.     this._commandWindow.setHandler('optimize', this.commandOptimize.bind(this));
  56.     this._commandWindow.setHandler('clear',    this.commandClear.bind(this));
  57.     this._commandWindow.setHandler('cancel',   this.popScene.bind(this));
  58.     this._commandWindow.setHandler('pagedown', this.nextActor.bind(this));
  59.     this._commandWindow.setHandler('pageup',   this.previousActor.bind(this));
  60.     this.addWindow(this._commandWindow);
  61. };
  62.  
  63. Scene_Equip.prototype.createSlotWindow = function() {
  64.     var wx = this._statusWindow.width + 180;
  65.     var wy = this._commandWindow.y + this._commandWindow.height;
  66.     var ww = Graphics.boxWidth - this._statusWindow.width - 180;
  67.     var wh = this._statusWindow.height - this._commandWindow.height;
  68.     this._slotWindow = new Window_EquipSlot(wx, wy, ww, wh);
  69.     this._slotWindow.setHelpWindow(this._helpWindow);
  70.     this._slotWindow.setStatusWindow(this._statusWindow);
  71.     this._slotWindow.setHandler('ok',       this.onSlotOk.bind(this));
  72.     this._slotWindow.setHandler('cancel',   this.onSlotCancel.bind(this));
  73.     this.addWindow(this._slotWindow);
  74. };
  75.  
  76. Scene_Equip.prototype.createItemWindow = function() {
  77.     var wx = 180;
  78.     var wy = this._statusWindow.y + this._statusWindow.height;
  79.     var ww = Graphics.boxWidth - 180;
  80.     var wh = Graphics.boxHeight - wy;
  81.     this._itemWindow = new Window_EquipItem(wx, wy, ww, wh);
  82.     this._itemWindow.setHelpWindow(this._helpWindow);
  83.     this._itemWindow.setStatusWindow(this._statusWindow);
  84.     this._itemWindow.setHandler('ok',     this.onItemOk.bind(this));
  85.     this._itemWindow.setHandler('cancel', this.onItemCancel.bind(this));
  86.     this._slotWindow.setItemWindow(this._itemWindow);
  87.     this.addWindow(this._itemWindow);
  88. };
  89.  
  90. Scene_Equip.prototype.commandOptimize = function() {
  91.     SoundManager.playEquip();
  92.     this.actor().optimizeEquipments();
  93.     this._statusWindow.refresh();
  94.     this._slotWindow.refresh();
  95.     this._commandWindow.activate();
  96.         this.updateEquipPictrues();
  97. };
  98.  
  99. Scene_Equip.prototype.commandClear = function() {
  100.     SoundManager.playEquip();
  101.     this.actor().clearEquipments();
  102.     this._statusWindow.refresh();
  103.     this._slotWindow.refresh();
  104.     this._commandWindow.activate();
  105.         this.updateEquipPictrues();
  106. };
  107.  
  108. Scene_Equip.prototype.onItemOk = function() {
  109.     SoundManager.playEquip();
  110.     this.actor().changeEquip(this._slotWindow.index(), this._itemWindow.item());
  111.     this._slotWindow.activate();
  112.     this._slotWindow.refresh();
  113.     this._itemWindow.deselect();
  114.     this._itemWindow.refresh();
  115.     this._statusWindow.refresh();
  116.         this.updateEquipPictrues();
  117. };
  118.  
  119. // TO DO
  120.  
  121. Scene_Equip.prototype.createPlayerPicture = function() {
  122.  
  123.         this._playerPicture = new Sprite(Bitmap.load("img/player/player.png"));
  124.         this._playerPicture.move(30, 150);
  125.  
  126.         this._equipPictrues = new Array();
  127.  
  128.         this.addChild(this._playerPicture);
  129.  
  130.         for(var i = 0; i < 4; i++)
  131.         {
  132.                 this._equipPictrues[i] = new Sprite();
  133.                 this._equipPictrues[i].move(30, 150);
  134.                 this.addChild(this._equipPictrues[i]);
  135.         }
  136.  
  137.         this.updateEquipPictrues();
  138. }
  139.  
  140. Scene_Equip.prototype.updateEquipPictrues = function() {
  141.  
  142.         var playerEquips = $gameActors.actor(1).armors();
  143.  
  144.         for(var t = 0; t < 4; t++) {
  145.                 for(var i = 0; i < 4; i++) {
  146.                         if (playerEquips[i]) {
  147.                                 if (equipZ[t] == playerEquips[i].etypeId) {
  148.                                         this._equipPictrues[t].bitmap = Bitmap.load("img/player/clothes_" + playerEquips[i].id + ".png");
  149.                                         break;
  150.                                 }
  151.                         } else {
  152.                                 this._equipPictrues[t].bitmap = ImageManager.loadEmptyBitmap();
  153.                         }
  154.                         this._equipPictrues[t].update();
  155.                 }
  156.         }
  157. }


素材(禁止任何途径的使用):
player.zip (214.91 KB, 下载次数: 578)

相关图片:
穿着:

穿着叠加:

插件设定:

设定类型:

作者: seedj13    时间: 2016-1-30 12:12
这个好像很厉害,拿来试试,谢谢楼主分享
作者: seedj13    时间: 2016-1-30 12:49
试用了一下,还是挺简单易用的,不过大概用于商业游戏的时候游戏主角只有一个,如果我用MV默认的四人队伍,进入装备栏之后,纸娃娃的效果只显示第一个人的装备情况,后面几个人的装备情况不会显示,我再研究研究,谢谢楼主分享
作者: roy12585    时间: 2016-1-30 16:31
这是极好的
作者: 汪汪    时间: 2016-1-30 18:02
不错的样子
作者: 蜡笔小猴子    时间: 2016-1-30 18:31
好东西!多谢楼主。

P.S.有人研究出来如何加上人物了吗=w=是要调用actorID这个参数吗?JS哭手QAQ
作者: z2z4    时间: 2016-1-31 10:51
这图会2显示在 战斗中吗
作者: seedj13    时间: 2016-1-31 13:33
z2z4 发表于 2016-1-31 10:51
这图会2显示在 战斗中吗

并不会,我看了下脚本,就是单纯的装备界面显示,如果要做到战斗中去,调用一下图片应该就行了,不过应该不适用于侧视战斗,里面涉及到很多东西。
作者: 夏末渐离    时间: 2016-2-1 13:39
本帖最后由 夏末渐离 于 2016-2-1 13:42 编辑

遵从使用规则:
1·允许随意修改插件内容
2·修改插件内容后请保留作者信息
定义了新的内容:

插件代码

作者: 蜡笔小猴子    时间: 2016-2-23 22:47
本帖最后由 蜡笔小猴子 于 2016-2-23 22:52 编辑
夏末渐离 发表于 2016-2-1 13:39
遵从使用规则:
1·允许随意修改插件内容
2·修改插件内容后请保留作者信息


感谢修改!
作者: 锡城彭于晏    时间: 2016-2-23 22:56
我可耻的收下了 谢谢楼主分享
作者: larbi    时间: 2016-2-27 22:54
这个有意思诶!
作者: salvareless    时间: 2016-3-22 11:23
炫酷万分,同时感谢九楼的修改,抱走了~~~
作者: qwesdxcz    时间: 2016-4-25 20:11
本帖最后由 qwesdxcz 于 2016-4-25 21:55 编辑
夏末渐离 发表于 2016-2-1 13:39
遵从使用规则:
1·允许随意修改插件内容
2·修改插件内容后请保留作者信息


感謝修改><

剛剛嘗試用了一下 想請問一下
有可能 以這個腳本文主
向外擴展 讓對話中的立繪 顯示這個
或是 建立一個 時常顯示在窗外的立繪嗎?


作者: 371879728    时间: 2016-4-29 23:53
感谢脚本作者…
也是想问同样的问题……
1,怎么让立绘显示在外面?
2,行走图的换装原理也是一样的么?
作者: woshishui1207    时间: 2022-11-16 21:08
好厉害这个




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