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

Project1

 找回密码
 注册会员
搜索
查看: 6894|回复: 2

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3657
在线时间
4466 小时
注册时间
2008-6-12
帖子
802
发表于 2015-11-24 23:03:55 | 显示全部楼层 |阅读模式

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

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

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

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

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


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

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, 下载次数: 378

评分

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

查看全部评分

本人三无老人,请大神轻拍

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2015-11-30
帖子
16
发表于 2015-11-30 14:46:48 | 显示全部楼层
本帖最后由 语义噪音 于 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. })();

点评

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

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-28 20:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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