Project1

标题: 战斗中显示敌人血条 [打印本页]

作者: 真空包装    时间: 2016-9-11 10:17
标题: 战斗中显示敌人血条
如何做到?只要一条红色线就差不多了
作者: 漆黑魅影    时间: 2016-9-11 10:44
当然是用脚本做啊

作者: 在野月光    时间: 2016-9-12 16:11


一条红线 ↑??
作者: 真空包装    时间: 2016-9-13 14:17
漆黑魅影 发表于 2016-9-11 10:44
当然是用脚本做啊

求脚本= =
作者: 真空包装    时间: 2016-9-13 14:17
在野月光 发表于 2016-9-12 16:11
一条红线 ↑??

恩恩恩嗯
作者: 在野月光    时间: 2016-9-13 18:41
JAVASCRIPT 代码复制
  1. // MLC_drawEnemyHP.js
  2.  
  3.  
  4. /*:
  5. @plugindesc 战斗图中绘制敌方血条_v09.11.2016
  6. @author 在野月光族
  7.  
  8. @help
  9. 注※ 本插件不支持由打击震动等效果所产生的偏移结算。
  10.  
  11. 插件指令(非必需)。
  12. 格式:
  13.  指令  参数
  14.  HPX   x值  --  设定血条的坐标X ,默认为 -50。
  15.  HPY   y值  --  设定血条的坐标y ,默认为相对位置。
  16.  
  17. */
  18.  
  19. /*
  20. ==========================================================================
  21.   ◆ 自定义参数
  22. ==========================================================================
  23. */
  24. var MLC = {};
  25. MLC.HPX = 0;
  26. MLC.HPY = 0;
  27.  
  28. /*导入插件指令函数*/
  29. MLC.GEPC = Game_Interpreter.prototype.pluginCommand;
  30.  
  31. /*导入更新精灵函数*/
  32. MLC.EupdateXX = Sprite_Enemy.prototype.update;
  33.  
  34. /*
  35. ==========================================================================
  36.   ◆ 调用插件指令 (重写)
  37. ==========================================================================
  38. */
  39. Game_Interpreter.prototype.pluginCommand = function(command, args) {
  40.         /*调入原函数*/
  41.         MLC.GEPC.call(this);
  42.  
  43.         /*检查插件参数*/
  44.         if( !command || !args ) return ;
  45.  
  46.         /*过滤插件指令*/
  47.         switch(command.toUpperCase() ){
  48.  
  49.                 /*指令1 - 名称*/
  50.                 case 'HPX':
  51.                         /*提取X坐标*/
  52.                         MLC.HPX = Number(args[0]);
  53.                 break;
  54.  
  55.                 /*指令2 - 名称*/
  56.                 case 'HPY':
  57.                         /*提取y坐标*/
  58.                         MLC.HPY = Number(args[0]);
  59.                 break;       
  60.         }
  61. };
  62.  
  63. /*
  64. ==========================================================================
  65.   ◆ 更新血条精灵 (新建)
  66. ==========================================================================
  67. */
  68. Sprite_Enemy.prototype.updateHpRect = function(){
  69.  
  70.         /*如果敌对单位存在*/
  71.         if (this._enemy){
  72.  
  73.                 /*如果血条精灵已创建,则移除精灵*/
  74.                 if(this.SptEnemyHp){this.removeChild(this.SptEnemyHp) };
  75.  
  76.                 /*计算当前血条的可视长度(默认值:最大100像素)*/
  77.                 var EYHP = Math.ceil(this._enemy.hp / this._enemy.mhp * 100) ;  
  78.  
  79.                 /*更新血条纵轴的相对位置*/
  80.                 this.updateStateSprite();
  81.  
  82.                 /*创建精灵*/
  83.                 this.SptEnemyHp = new Sprite();
  84.  
  85.                 /*设定血条横坐标X*/
  86.                 this.SptEnemyHp.x = MLC.HPX || - 50 ;
  87.  
  88.                 /*计算血条纵坐标Y(默认偏移值:18)*/
  89.                 this.SptEnemyHp.y = MLC.HPY || this._stateIconSprite.y + 18;  
  90.  
  91.                 /*设定血条尺寸并绘制(默认高度:2像素)*/
  92.                 this.SptEnemyHp.bitmap = new Bitmap(EYHP, 2);
  93.  
  94.                 /*设置血条颜色并填充(默认值:红色)*/
  95.                 this.SptEnemyHp.bitmap.fillAll('red');
  96.  
  97.                 /*显示血条*/
  98.                 this.addChild(this.SptEnemyHp)
  99.         };       
  100. };
  101.  
  102. /*
  103. ==========================================================================
  104.   ◆ 更新 (重写)
  105. ==========================================================================
  106. */
  107.  
  108. Sprite_Enemy.prototype.update = function(){
  109.         /*调入原函数*/
  110.         MLC.EupdateXX.call(this);
  111.  
  112.         /*更新血条精灵*/
  113.         this.updateHpRect();
  114. };

作者: 兰鲁修斯    时间: 2019-8-26 14:21
怎么用啊
作者: denchao66    时间: 2020-7-11 01:54
真空包装 发表于 2016-9-13 14:17
恩恩恩嗯

请问这个脚本复制到哪里啊?
作者: 空空之王    时间: 2020-7-18 16:33
谢谢楼主给的原脚本
作者: 会改变零    时间: 2021-12-14 12:48
在野月光 发表于 2016-9-13 18:41
// MLC_drawEnemyHP.js

大佬,您的代码能把敌人名称和血量数字显示出来嘛
作者: 会改变零    时间: 2021-12-15 00:00
在野月光 发表于 2016-9-12 16:11
一条红线 ↑??

大佬,让怪物显示血量值、名称和血条的代码难写嘛
作者: 17665670570    时间: 2022-1-2 22:53

作者: 17665670570    时间: 2022-1-3 01:32

作者: gxw250    时间: 2022-3-22 15:04
在野月光 发表于 2016-9-13 18:41
// MLC_drawEnemyHP.js

神!谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
作者: apian777    时间: 2023-9-4 00:52
不错啊,很实用!




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