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

Project1

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

[原创发布] 横版战斗中按纵向格子依次排序敌群。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
306 小时
注册时间
2014-8-5
帖子
416
跳转到指定楼层
1
发表于 2016-1-11 16:19:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 夏末渐离 于 2016-1-11 16:37 编辑

JAVASCRIPT 代码复制下载
  1. /*:
  2.  * 原理:
  3.  * 把敌人当成格子,根据纵向绘制横向。
  4.  * 缺点:
  5.  * 1.每个敌人都需要添加注释,否则这个敌人会失踪……
  6.  * 例如:<EnemyGrid:1>
  7.  * 2.在敌群添加敌人时必须恰好填满每列最大格子数。
  8.  * 例如:一列规定为4个格子时,依次放一个占1个格子的敌人+一个占2个格子的敌人+一个占1个格子的敌人则视为填满这一列。
  9.  *       若依次放三个占1个格子的敌人+一个占2个格子的敌人则超出这列的最大格子数,会发生诡异的排列。
  10.  * @author XMJL
  11.  * @plugindesc  sort troop as grid.
  12.  *
  13.  * @param EnemyColGrid
  14.  * @default 4
  15.  *
  16.  * @param EnemyGridWidth
  17.  * @default 200
  18.  *
  19.  * @param EnemyGridHeight
  20.  * @default 150
  21.  *
  22.  * @param ScreenLeft
  23.  * @default 100
  24.  *
  25.  * @param ScreenTop
  26.  * @default 100
  27.  */
  28. (function()
  29. {
  30.     var param = PluginManager.parameters('XMJL_SortEnemyGrid');
  31.     var EnemyColGrid=Number(param['EnemyColGrid']);
  32.     var EnemyGridWidth=Number(param['EnemyGridWidth']);
  33.     var EnemyGridHeight=Number(param['EnemyGridHeight']);
  34.     var ScreenLeft=Number(param['ScreenLeft']);
  35.     var ScreenTop=Number(param['ScreenTop']);
  36.     var EnemyType;
  37.     var FillFull;
  38.     var _Game_Enemy_initMembers=Game_Enemy.prototype.initMembers;
  39.     Game_Enemy.prototype.initMembers=function()
  40.     {
  41.         _Game_Enemy_initMembers.call(this);
  42.         EnemyType=new Array();
  43.         FillFull=0;
  44.     }
  45.     Game_Enemy.prototype.screenX = function()
  46.     {
  47.         if($gameSystem.isSideView())
  48.         return ScreenLeft+FillFull*EnemyGridWidth;
  49.         else
  50.         return this._screenX;
  51.     };
  52.  
  53.    Game_Enemy.prototype.screenY = function() {
  54.           if($gameSystem.isSideView())
  55.           {
  56.               var index=this.index();
  57.               var enemy=this.enemy();
  58.               var type= Number(enemy.meta.EnemyGrid);
  59.               var lockAnchor=type*EnemyGridHeight/2;
  60.               var lastgrid=XMJL_caluEnemyGrid(index,type);
  61.               if(lastgrid==0)
  62.                   return ScreenTop+lockAnchor;
  63.               else
  64.                   return ScreenTop+lastgrid*EnemyGridHeight+lockAnchor;
  65.           }
  66.           else
  67.           return this._screenY;
  68.     };
  69.     var XMJL_caluEnemyGrid=function(index,type)
  70.     {
  71.         var sum;
  72.          if(index==0)
  73.          {
  74.              sum=0;
  75.              EnemyType[index]=type;
  76.              return 0;
  77.          }
  78.          else
  79.          {
  80.              sum=EnemyType[index-1]+type;
  81.              if(sum>=EnemyColGrid)
  82.              {
  83.                  FillFull++;
  84.                  EnemyType[index]=sum%EnemyColGrid;
  85.              }
  86.              else
  87.              EnemyType[index]=sum;
  88.              return EnemyType[index-1];
  89.          }
  90.     }
  91. })();

说明
诡异的排列

绘制效果:

评分

参与人数 1梦石 +1 收起 理由
余烬之中 + 1 0x0

查看全部评分

  点我进入    
       ↓      

Lv1.梦旅人

笑问情缘

梦石
0
星屑
73
在线时间
238 小时
注册时间
2006-5-3
帖子
640
2
发表于 2016-1-11 16:24:33 手机端发表。 | 只看该作者
支持大大,多谢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
44 小时
注册时间
2015-12-27
帖子
47
3
发表于 2016-1-11 16:46:49 | 只看该作者
//==============================================================================
// MrTS_BattleCharacterLimit.js
//==============================================================================

/*:
* @plugindesc Changes character placement for battles.
* @author Mr. Trivel
*
* @param Max Characters
* @desc 设置人物数量
* @default 4
*
* @param Characters Per Row
* @desc 设置人物数量
* @default 4
*
* @param Offset
* @desc Y坐标
* @default 120
*
* @param Vertical Offset
* @desc X坐标
* @default 360
*
* @param Lower Index
* @desc How further each character below is
* @default 48
*
* @param Forward Offset
* @desc Move the rows by an offset for each row in battle
* @default 100
*
* @param Row Spacing
* @desc Space between rows
* @default 100
*
* @param Vertical Chara Spacing
* @desc Space between rows
* @default 54
*
* @help Version 1.1
*/

(function() {
        var parameters = PluginManager.parameters('人物战斗队伍');

        var maxCharacters = Number(parameters['Max Characters'] || 5);
        var charasPerRow = Number(parameters['Characters Per Row'] || 3);
        var rightOffset = Number(parameters['Offset'] || 120);
        var topOffset = Number(parameters['Vertical Offset'] || 360);
        var lowerCharaIndex = Number(parameters['Lower Index'] || 48);
        var forwardIndex = Number(parameters['Forward Offset'] || 100);
        var rowSpacing = Number(parameters['Row Spacing'] || 100);
        var charaVerticalSpacing = Number(parameters['Vertical Chara Spacing'] || 54);

        Game_Party.prototype.maxBattleMembers = function() {
            return maxCharacters;
        };

        Sprite_Actor.prototype.setActorHome = function(index) {
                var c = Math.floor(index/charasPerRow);
                var x = (Graphics.boxWidth - rightOffset) - forwardIndex * Math.floor($gameParty.battleMembers().length/charasPerRow) + lowerCharaIndex * (index % charasPerRow) + rowSpacing * c;
                var y = topOffset + (index%charasPerRow) * charaVerticalSpacing;
            this.setHome(x, y);
        };

})();


太好了,一直就想要排列多排敌人的!谢谢楼主!

上面是排列我方参战人员和最大数的,楼主插件可以集成提高敌群敌人最大数量吗?

点评

好的,非常感谢!  发表于 2016-1-11 16:50
最近比较忙,等有空再看吧。  发表于 2016-1-11 16:48
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
385 小时
注册时间
2007-7-27
帖子
4106

开拓者

4
发表于 2016-1-11 21:13:22 | 只看该作者
应该加一点透视吧,你看主角方都有透视!

点评

明白了,这样可以弄得越来越有趣了。  发表于 2016-1-11 22:22
确切的说是梯形  发表于 2016-1-11 22:19
类似平行四边形的感觉?  发表于 2016-1-11 22:03
不是透明,是说不要按照矩形网格,而是根据近大远小形变的网格,类似于rm2k3的战场那种  发表于 2016-1-11 22:00
加透明的话,莫非是获取敌人精灵然后修改opacity ? 0x0  发表于 2016-1-11 21:56
吸吸
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
140
在线时间
345 小时
注册时间
2009-5-15
帖子
111
5
发表于 2016-1-11 21:49:36 | 只看该作者
大大啊!求你把地图的插件移植到菜单先项里,就是地图不在游戏界面上,而是按下Esc,显示在菜单的某个窗口里。

点评

啊,你们的名字都好像,我记混了....  发表于 2016-1-11 22:47
你是指过眼云烟的小地图么?  发表于 2016-1-11 22:02
敌人自动排列系统    1/1
技能类型着色   1/1
物品着色     0/1
仿网游强化系统    0/1
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-6 18:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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