Project1

标题: 【插件】人物地图缩放 [打印本页]

作者: 过眼云烟    时间: 2015-11-24 23:03
标题: 【插件】人物地图缩放
本帖最后由 过眼云烟 于 2015-11-24 23:04 编辑

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

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


效果如下:


JAVASCRIPT 代码复制下载
  1. //=============================================================================
  2. // MrLiu_CharaterZoom.js
  3. //=============================================================================
  4.  
  5. /*:
  6.  * @plugindesc 在RMMV游戏中的实现类似RM系列作品中近大远小的功能
  7.  * @author MrLiu-过眼云烟
  8.  *
  9.  * @help 使用方法是在地图的备注中加入<Character_zoom:0.7> 即地图上人物会缩放为正常的0.7倍
  10.  * 交通工具不会随之缩放,即行走图名称包含Vehicle的不会随之缩放。
  11.  */
  12. //-----------------------------------------------------------------------------
  13.  
  14. var _MrLiu_CharaterZoom_update = Sprite_Character.prototype.update;
  15. Sprite_Character.prototype.update = function() {
  16.     _MrLiu_CharaterZoom_update.call(this);
  17.         var map = $dataMap;
  18.     if(map.meta.Character_zoom && (this._characterName.indexOf("Vehicle")!= 0) ){//Cts.indexOf("Text") > 0
  19.                 this.scale.x = map.meta.Character_zoom;
  20.                 this.scale.y = map.meta.Character_zoom;
  21.     };
  22. };

MrLiu_CharaterZoom.rar

623 Bytes, 下载次数: 386


作者: 语义噪音    时间: 2015-11-30 14:46
本帖最后由 语义噪音 于 2015-12-1 11:38 编辑

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

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

JAVASCRIPT 代码复制
  1. var PluginMethods;
  2.  
  3. PluginMethods = {
  4.   doScale: function(scale) {
  5.     var _Sprite_Character_prototype_update;
  6.     _Sprite_Character_prototype_update = Sprite_Character.prototype.update;
  7.     Sprite_Character.prototype.update = function() {
  8.       _Sprite_Character_prototype_update.call(this);
  9.       if (!(this._character instanceof Game_Vehicle)) {
  10.         this._character._dashing = false;
  11.         this._character._moveSpeed = scale * 4;
  12.         this.scale.x = scale;
  13.         this.scale.y = scale;
  14.       }
  15.     };
  16.   }
  17. };
  18.  
  19. (function() {
  20.   var _Game_Interpreter_pluginCommand;
  21.   _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
  22.   return Game_Interpreter.prototype.pluginCommand = function(command, args) {
  23.     _Game_Interpreter_pluginCommand.call(this, command, args);
  24.     switch (command) {
  25.       case 'plug-in':
  26.         switch (args[0]) {
  27.           case 'doScale':
  28.             PluginMethods.doScale(args[1]);
  29.         }
  30.     }
  31.   };
  32. })();

作者: wudicc1    时间: 2021-9-1 22:19
6666666666666666666




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