查看: 8439|回复: 2

[原创发布] 【插件】人物地图缩放

[复制链接]
梦石
0
星屑
3677
在线时间
4468 小时
注册时间
2008-6-12
回帖
776
发表于 2015-11-24 23:03:55 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 过眼云烟 于 2015-11-24 23:04 编辑

有没有感觉到在大地图上显示大头人物显得很突兀,这个插件旨在帮助您解决这个问题。
使用方法是在地图备注栏添加<Character_zoom:0.5>标签,即地图上人物缩放为0.5倍大小。
另外本插件不会缩放地图上的交通工具,这样比例可能比较合适。实际的检测机制是地图事件的图片名称如果包含Vehicle则不会随之缩放。
您可以在大地图上玩家跟随着消失,然后在地图设置上勾选禁止冲刺,然后降低玩家移动速度,即可做出非常棒的大地图效果。
enjoy it~~

近大远小功能暂时还没有添加,下一版本将会添加,敬请期待


效果如下:
地图人物缩放.jpg

[pre lang="javascript" file="MrLiu_CharaterZoom.js"]//=============================================================================
// MrLiu_CharaterZoom.js
//=============================================================================

/*:
* @plugindesc 在RMMV游戏中的实现类似RM系列作品中近大远小的功能
* @author MrLiu-过眼云烟
*
* @help 使用方法是在地图的备注中加入<Character_zoom:0.7> 即地图上人物会缩放为正常的0.7倍
* 交通工具不会随之缩放,即行走图名称包含Vehicle的不会随之缩放。
*/
//-----------------------------------------------------------------------------

var _MrLiu_CharaterZoom_update = Sprite_Character.prototype.update;
Sprite_Character.prototype.update = function() {
    _MrLiu_CharaterZoom_update.call(this);
        var map = $dataMap;
    if(map.meta.Character_zoom && (this._characterName.indexOf("Vehicle")!= 0) ){//Cts.indexOf("Text") > 0
                this.scale.x = map.meta.Character_zoom;
                this.scale.y = map.meta.Character_zoom;
    };
};[/pre]

MrLiu_CharaterZoom.rar

623 Bytes, 下载次数: 390

评分

参与人数 5星屑 +126 梦石 +1 赞 +1 收起 理由
huire19992000 + 1 太实用了!
柳岳枫 + 60
king + 36 细节控 强大
longshili + 30 塞糖
余烬之中 + 1 精品文章

查看全部评分

本人三无老人,请大神轻拍
梦石
0
星屑
50
在线时间
13 小时
注册时间
2015-11-30
回帖
15
发表于 2015-11-30 14:46:48 | 显示全部楼层
本帖最后由 语义噪音 于 2015-12-1 11:38 编辑

我觉得对于载具的判断,最好还是使用instanceof操作符比较好。检查this._character是否是Game_Vehicle的一个实例,比起用名称来判断,这样做更加优雅。

顺手把降低移动速度和禁止冲刺加上了。另外,我把方法抽离出来形成了一个单独的对象用于调用,增加了调用方法的插件命令。

[pre lang="javascript"]
var PluginMethods;

PluginMethods = {
  doScale: function(scale) {
    var _Sprite_Character_prototype_update;
    _Sprite_Character_prototype_update = Sprite_Character.prototype.update;
    Sprite_Character.prototype.update = function() {
      _Sprite_Character_prototype_update.call(this);
      if (!(this._character instanceof Game_Vehicle)) {
        this._character._dashing = false;
        this._character._moveSpeed = scale * 4;
        this.scale.x = scale;
        this.scale.y = scale;
      }
    };
  }
};

(function() {
  var _Game_Interpreter_pluginCommand;
  _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
  return Game_Interpreter.prototype.pluginCommand = function(command, args) {
    _Game_Interpreter_pluginCommand.call(this, command, args);
    switch (command) {
      case 'plug-in':
        switch (args[0]) {
          case 'doScale':
            PluginMethods.doScale(args[1]);
        }
    }
  };
})();
[/pre]

点评

好吧,你是大神。主要考虑一些特定场景,毕竟地图上不是只有猪角用的一艘船,一搜飞空艇  发表于 2015-11-30 17:59
回复

使用道具 举报

梦石
0
星屑
230
在线时间
26 小时
注册时间
2021-7-28
回帖
24
发表于 2021-9-1 22:19:27 | 显示全部楼层
6666666666666666666
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部