Project1

标题: 【插件】地图显示变量 [打印本页]

作者: 议长    时间: 2016-3-12 16:16
标题: 【插件】地图显示变量
本帖最后由 议长 于 2016-3-12 16:21 编辑

一个非常……非常简单的插件。
在地图上新建一个透明窗口,然后通过窗口显示数字,比如你使用序号为0001:游戏开始。经过操作并设定后,屏幕上某个角落出现了0这个数字(没改变变量值的情况下),然后你再把0001的值改成了1,那个数字也会随之改变。

啊……我语文不好就不多说了……(慵懒状

JAVASCRIPT 代码复制下载
  1. //=============================================================================
  2. // TO_ShowNumberOnMap.js
  3. //=============================================================================
  4.  
  5. /*:
  6.  * @plugindesc Show variables on the screen when on the map.
  7.  * @author Truth Originem
  8.  *
  9.  * @help
  10.  *
  11.  * Plugin Command:
  12.  *  ShowVariable initialize 1 0.5 0.5 100 left 意思是建立一个变量序号为1,在屏幕
  13.  *  正中间(左上角为0,0的比例因素),最宽像素为100( *  里面的变量最多占这么大,目前
  14.  *  没写成比例),排列方式为左对齐的对象。该对象建立期初是不可见的,内容为变量内容。
  15.  *  ShowVariable show 1 显示变量序号为1的对象。
  16.  *  ShowVariable hide 1 隐藏变量序号为1的对象。
  17.  *  ShowVariable setColor 1 #FF0000 使变量序号为1的对象呈现红色(#FF0000)
  18.  */
  19.  
  20. var $dataVariables = null;
  21.  
  22. (function(){
  23.     var _Scene_Map_createAllWindows = Scene_Map.prototype.createAllWindows;
  24.     Scene_Map.prototype.createAllWindows = function ()
  25.     {
  26.         _Scene_Map_createAllWindows.call(this);
  27.         if(!$dataVariables){
  28.             $dataVariables = new Window_VariableShowTab();
  29.         }
  30.         this.addChild($dataVariables);
  31.     };
  32.  
  33.  
  34.     function Window_VariableShowTab(){
  35.         this.initialize.apply(this, arguments);
  36.     }
  37.     Window_VariableShowTab.prototype = Object.create(Window_Base.prototype);
  38.     Window_VariableShowTab.prototype.constructor = Window_VariableShowTab;
  39.  
  40.     Window_VariableShowTab.prototype.initialize = function(){
  41.         var width = Graphics.boxWidth;
  42.         var height = Graphics.boxHeight;
  43.         Window_Base.prototype.initialize.call(this, 0, 0, width, height);
  44.         this.opacity = 0;
  45.         this._data = [];
  46.     };
  47.     Window_VariableShowTab.prototype.update = function(){
  48.         this.contents.clear();
  49.         for(var i =0;i<this._data.length;i++){
  50.             var data = this._data[i];
  51.             if(data.isEnabled()){
  52.                 this.changeTextColor(data._color);
  53.                 this.drawText(data.getVariable(),data._x,data._y,data._maxWidth,data._align);
  54.                 this.resetTextColor();
  55.             }
  56.         }
  57.     };
  58.     Window_VariableShowTab.prototype.getDatas = function(){
  59.         return this._data;
  60.     };
  61.     Window_VariableShowTab.prototype.getData = function(id){
  62.         var data = null;
  63.         for(var i =0;i<this._data.length;i++){
  64.             if(this._data[i]._id == id){
  65.                 data = this._data[i];
  66.                 break;
  67.             }
  68.         }
  69.         return data;
  70.     };
  71.  
  72.     var _Game_Interpreter_pluginCommand =
  73.         Game_Interpreter.prototype.pluginCommand;
  74.     Game_Interpreter.prototype.pluginCommand = function(command, args) {
  75.         _Game_Interpreter_pluginCommand.call(this, command, args);
  76.         if (command === 'ShowVariable') {
  77.             switch (args[0]) {
  78.                 case 'initialize':
  79.                     var data = new VariableData(Number(args[1]),Number(args[2]),Number(args[3]),Number(args[4]),String(args[5]));
  80.                     $dataVariables.getDatas().push(data);
  81.                     break;
  82.                 case 'show':
  83.                     $dataVariables.getData(Number(args[1])).setEnabled(true);
  84.                     break;
  85.                 case 'hide':
  86.                     $dataVariables.getData(Number(args[1])).setEnabled(false);
  87.                     break;
  88.                 case 'setColor':
  89.                     $dataVariables.getData(Number(args[1])).setColor(String(args[2]));
  90.                     break;
  91.             }
  92.         }
  93.     };
  94.  
  95.     function VariableData(){
  96.         this.initialize.apply(this, arguments);
  97.     }
  98.     VariableData.prototype.constructor = VariableData;
  99.     VariableData.prototype.initialize = function(id,x_factor,y_factor,maxWidth,align){
  100.         this._x = Graphics.boxWidth*x_factor;
  101.         this._y = Graphics.boxHeight*y_factor;
  102.         this._maxWidth = maxWidth;
  103.         this._align = align;
  104.         this._id = id;
  105.         this._color = $dataVariables.normalColor();
  106.         this._enabled = false;
  107.     };
  108.     VariableData.prototype.getVariable = function(){
  109.         return $gameVariables.value(this._id);
  110.     };
  111.     VariableData.prototype.isEnabled = function(){
  112.         return this._enabled;
  113.     };
  114.     VariableData.prototype.setEnabled = function(enabled){
  115.         this._enabled = enabled;
  116.     };
  117.     VariableData.prototype.setColor = function(color){
  118.         this._color = color;
  119.     }
  120. })();

TO_ShowNumberOnMap.rar

1.45 KB, 下载次数: 587


作者: 夜$神    时间: 2016-3-12 16:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 西姐    时间: 2016-3-12 21:01
可以美化一下,比如加个底图什么的
作者: 汪汪    时间: 2016-3-12 21:53
挺好的,不过如果能显示多个或者交替显示就好了.
以及可以添加一些文字 比如 变量1 : 0
这样
作者: 议长    时间: 2016-3-13 13:30
汪汪 发表于 2016-3-12 21:53
挺好的,不过如果能显示多个或者交替显示就好了.
以及可以添加一些文字 比如 变量1 : 0
这样  ...

嘛,这个插件实际上只是为了配合某一个游戏的一次应用而摸鱼出来的,可能以后会拓展功能吧……{:2_276:}
作者: mikeyh01    时间: 2017-1-31 15:35
能不能加个删除的命令,请楼主费心弄一下。

作者: mikeyh01    时间: 2017-2-8 15:13
稍微改动了一下,可以显示:文本+变量,这样就可以做一些屏幕提示了 MapBianliang.zip (1.55 KB, 下载次数: 619)


作者: mikeyh01    时间: 2017-2-8 15:15
使用方法:ShowVariable initialize 1 0.0 0.0 200 left 战斗力:
作者: 天空娃娃    时间: 2017-7-3 19:31
mikeyh01 发表于 2017-2-8 15:15
使用方法:ShowVariable initialize 1 0.0 0.0 200 left 战斗力:

还是什么都不显示.......求教怎么用..
作者: wizardray    时间: 2017-7-24 14:36

作者: 天空娃娃    时间: 2019-7-12 20:13
mikeyh01 发表于 2017-2-8 15:15
使用方法:ShowVariable initialize 1 0.0 0.0 200 left 战斗力:

大佬,是脚本插入这段么?还是注释加入这段
作者: 天空娃娃    时间: 2019-7-12 20:15
mikeyh01 发表于 2017-2-8 15:15
使用方法:ShowVariable initialize 1 0.0 0.0 200 left 战斗力:

按这个插入了,显示Unexpected identifier
作者: liuyilong2    时间: 2019-9-15 19:15
天空娃娃 发表于 2019-7-12 20:15
按这个插入了,显示Unexpected identifier

插件指令,我试了可以
作者: 元泱の蛮吉    时间: 2019-10-26 22:32
天空娃娃 发表于 2019-7-12 20:15
按这个插入了,显示Unexpected identifier

这个插件可以设置显示变量的位置么
作者: sigmaWZF    时间: 2020-4-15 10:43
大佬,有没有办法可以让人物不能走到插件下边去啊
作者: greengjl    时间: 2020-4-15 13:50
感谢分享
作者: cryhades    时间: 2021-4-30 22:11
mikeyh01 发表于 2017-2-8 15:13
稍微改动了一下,可以显示:文本+变量,这样就可以做一些屏幕提示了

请问,这个插件能缩小数字吗?有点太大了……
作者: YuiKura    时间: 2021-5-2 15:35
感谢大佬分享

作者: kumeng210    时间: 2021-5-10 18:32

感谢大佬分享




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