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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2015-11-30
帖子
16
1
发表于 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
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-6-2 14:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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