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

Project1

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

[已经解决] 求个全排列状态图标精灵+行动图标精灵插件

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
196 小时
注册时间
2014-8-7
帖子
58
跳转到指定楼层
1
发表于 2016-6-3 01:56:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 maaj300130 于 2016-6-3 02:50 编辑

作为一个萌新,只会用别人插件,最近还有个小问题没完全解决
搜索了一下论坛,没找到合适的插件;我想要一个用精灵写的,位置能跟着角色动的全排列状态图标+行动图标的插件。
1.具体排列方式为:
如果是角色
行动图标位置=actor当前位置+参量1
优先度最高的状态图标位置=actor当前位置-参量2
状态图标按优先度从小到大向右排列

如果是敌人
行动图标位置=enemy当前位置-参量1(这个默认没有,不知道能不能在每回合开始时或者我方指令选择完成后生成,如果都可以就添加参量用来开启显示开关,如果都不行就算了)
优先度最高的状态图标位置=enemy当前位置+参量2
状态图标按优先度从大到小向右排列

2.参量3是敌我双方精灵的y修正值

3.另外希望预留一个图标精灵可见功能出来,我想自己给它加个隐藏用的条件

我想我应该表达清楚了,真的很需要这个插件{:2_280:},希望能有大神出手拯救一下萌新,先谢过了。有同样需求的希望能顶起来,别沉了!!

版主大大我的排版是否过关

Lv3.寻梦者

梦石
0
星屑
1882
在线时间
1552 小时
注册时间
2013-4-13
帖子
917
2
发表于 2016-6-3 21:36:40 | 只看该作者
本帖最后由 沉滞的剑 于 2016-6-3 23:05 编辑

@夏末渐离
原作者
https://rpg.blue/forum.php?mod=viewthread&tid=388103


JAVASCRIPT 代码复制下载
  1. //=============================================================================
  2. // MyPlugin3.js
  3. //=============================================================================
  4.  
  5. /*:
  6. * @author XMJL
  7. * 横版战斗时在主角头顶上显示状态图标
  8. * Modify by HeartCase Li
  9. *
  10. * @param dx
  11. * @desc 图标位移x
  12. * @default 0
  13. *
  14. * @param dy
  15. * @desc 图标位移y
  16. * @default 0
  17. *
  18. * @param row
  19. * @desc 最大行数
  20. * @default 5
  21. *
  22. * @help StateIconMode true/false 打开或关闭图标
  23. */
  24. (function()
  25. {       
  26.         var sw = true;
  27.         var parameters = PluginManager.parameters('MyPlugin3');
  28.         var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
  29.     Game_Interpreter.prototype.pluginCommand = function(command, args) {
  30.         _Game_Interpreter_pluginCommand.call(this, command, args);
  31.         if (command === 'StateIconMode') {
  32.                         sw= String(args[0] || 'true');
  33.                         sw = (sw == 'true');
  34.         }
  35.     };       
  36.         var dx = Number(parameters['dx'] || 0);
  37.         var dy = Number(parameters['dy'] || 0);
  38.         var row = Number(parameters['row'] || 0);
  39.     var _Sprite_Battler_initMembers=Sprite_Battler.prototype.initMembers;
  40.     Sprite_Battler.prototype.initMembers=function(){
  41.         _Sprite_Battler_initMembers.call(this);
  42.         this.createStateIconGroup();
  43.     }
  44.     Sprite_Battler.prototype.createStateIconGroup=function(){       
  45.                 if(!$gameSystem.isSideView()) return;
  46.                 var l = $dataStates.length;
  47.                 var newFunction = function(){
  48.                 }
  49.                 this._stateIconSpriteGroup = [];
  50.                 for(var i = 0; i < l; i++){
  51.                         var si = new Sprite_StateIcon;
  52.                         this._stateIconSpriteGroup.push(si);       
  53.                         si.updateIcon = newFunction;
  54.                 }
  55.     }
  56.     var _Sprite_Battler_update=Sprite_Battler.prototype.update;
  57.     Sprite_Battler.prototype.update=function(){
  58.         _Sprite_Battler_update.call(this);
  59.         if($gameSystem.isSideView()) this.updateIconStateSprite();
  60.     }
  61.     Sprite_Battler.prototype.updateIconStateSprite = function(){
  62.                 if (!this._battler ||  
  63.                         !this._stateIconSpriteGroup) return;               
  64.                 var icons = [];
  65.                 icons = this._battler.allIcons();
  66.                 var states = this._battler._states;
  67.                 function s(a, b){
  68.                         a = states[icons.indexOf(a)];
  69.                         b = states[icons.indexOf(b)];
  70.                         if(!$dataStates[a] || a < 0){
  71.                                 return 1;
  72.                         }
  73.                         if(!$dataStates[b] || b < 0){
  74.  
  75.                                 return -1;
  76.                         }
  77.                         return $dataStates[b].priority -  $dataStates[a].priority;
  78.                 }
  79.                 icons.sort(s);
  80.                 var set = this._stateIconSpriteGroup;
  81.                 for(var i=0; i<set.length ; i++){
  82.                         if(icons[i] == undefined || !sw || !this._battler.isAlive()){
  83.                                 this.removeChild(set[i]);
  84.                                 set[i]._iconIndex = 0;
  85.                                 continue;
  86.                         }
  87.                         if(!this.children.contains(set[i])) this.addChild(set[i]);
  88.                         if(icons[i] != set[i]._iconIndex){
  89.                                 set[i]._iconIndex = icons[i];
  90.                                 set[i].updateFrame();
  91.                         }               
  92.                         var bitmap = set[i].bitmap;
  93.                         if(bitmap){
  94.                                 set[i].y =  bitmap.height/20 * Math.floor(i / row) + dy
  95.                                 set[i].x =  bitmap.width/16 * (i % row)  + dx;
  96.                                 if(!this._enemy) set[i].x = bitmap.width/16 * (row - (i % row))  + dx;
  97.                         }
  98.                 }
  99.     }
  100.         Sprite_Enemy.prototype.setBattler = function(battler) {
  101.                 Sprite_Battler.prototype.setBattler.call(this, battler);
  102.                 this._enemy = battler;
  103.                 this.setHome(battler.screenX(), battler.screenY());
  104.         };
  105. })();

点评

终于解决啦,感谢剑哥,感谢原作者!!!  发表于 2016-6-3 21:40

评分

参与人数 1星屑 +60 收起 理由
夏末渐离 + 60 精品文章

查看全部评分

夏普的道具店

塞露提亚-道具屋的经营妙方同人作品
发布帖:点击这里
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5712
在线时间
1556 小时
注册时间
2011-6-14
帖子
520
3
发表于 2016-6-4 20:45:50 | 只看该作者
沉滞的剑 发表于 2016-6-3 21:36
@夏末渐离
原作者
https://rpg.blue/forum.php?mod=viewthread&tid=388103

大大 我想问下图标消失是的排序是怎么设置的,这个脚本他是角色的图标消失时图标向右动,敌人图标则向左动。现在我想让角色的的图标消失时向左动,敌人图标则向右移动,向右动求大大帮忙
这是原脚本的效果
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-6 01:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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