查看: 19285|回复: 18

[原创发布] 【插件】地图显示变量

[复制链接]
梦石
0
星屑
50
在线时间
9 小时
注册时间
2016-3-5
回帖
3
发表于 2016-3-12 16:16:40 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 议长 于 2016-3-12 16:21 编辑

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

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

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

/*:
* @plugindesc Show variables on the screen when on the map.
* @author Truth Originem
*
* @help
*
* Plugin Command:
*  ShowVariable initialize 1 0.5 0.5 100 left 意思是建立一个变量序号为1,在屏幕
*  正中间(左上角为0,0的比例因素),最宽像素为100( *  里面的变量最多占这么大,目前
*  没写成比例),排列方式为左对齐的对象。该对象建立期初是不可见的,内容为变量内容。
*  ShowVariable show 1 显示变量序号为1的对象。
*  ShowVariable hide 1 隐藏变量序号为1的对象。
*  ShowVariable setColor 1 #FF0000 使变量序号为1的对象呈现红色(#FF0000)
*/

var $dataVariables = null;

(function(){
    var _Scene_Map_createAllWindows = Scene_Map.prototype.createAllWindows;
    Scene_Map.prototype.createAllWindows = function ()
    {
        _Scene_Map_createAllWindows.call(this);
        if(!$dataVariables){
            $dataVariables = new Window_VariableShowTab();
        }
        this.addChild($dataVariables);
    };


    function Window_VariableShowTab(){
        this.initialize.apply(this, arguments);
    }
    Window_VariableShowTab.prototype = Object.create(Window_Base.prototype);
    Window_VariableShowTab.prototype.constructor = Window_VariableShowTab;

    Window_VariableShowTab.prototype.initialize = function(){
        var width = Graphics.boxWidth;
        var height = Graphics.boxHeight;
        Window_Base.prototype.initialize.call(this, 0, 0, width, height);
        this.opacity = 0;
        this._data = [];
    };
    Window_VariableShowTab.prototype.update = function(){
        this.contents.clear();
        for(var i =0;i<this._data.length;i++){
            var data = this._data;
            if(data.isEnabled()){
                this.changeTextColor(data._color);
                this.drawText(data.getVariable(),data._x,data._y,data._maxWidth,data._align);
                this.resetTextColor();
            }
        }
    };
    Window_VariableShowTab.prototype.getDatas = function(){
        return this._data;
    };
    Window_VariableShowTab.prototype.getData = function(id){
        var data = null;
        for(var i =0;i<this._data.length;i++){
            if(this._data._id == id){
                data = this._data;
                break;
            }
        }
        return data;
    };

    var _Game_Interpreter_pluginCommand =
        Game_Interpreter.prototype.pluginCommand;
    Game_Interpreter.prototype.pluginCommand = function(command, args) {
        _Game_Interpreter_pluginCommand.call(this, command, args);
        if (command === 'ShowVariable') {
            switch (args[0]) {
                case 'initialize':
                    var data = new VariableData(Number(args[1]),Number(args[2]),Number(args[3]),Number(args[4]),String(args[5]));
                    $dataVariables.getDatas().push(data);
                    break;
                case 'show':
                    $dataVariables.getData(Number(args[1])).setEnabled(true);
                    break;
                case 'hide':
                    $dataVariables.getData(Number(args[1])).setEnabled(false);
                    break;
                case 'setColor':
                    $dataVariables.getData(Number(args[1])).setColor(String(args[2]));
                    break;
            }
        }
    };

    function VariableData(){
        this.initialize.apply(this, arguments);
    }
    VariableData.prototype.constructor = VariableData;
    VariableData.prototype.initialize = function(id,x_factor,y_factor,maxWidth,align){
        this._x = Graphics.boxWidth*x_factor;
        this._y = Graphics.boxHeight*y_factor;
        this._maxWidth = maxWidth;
        this._align = align;
        this._id = id;
        this._color = $dataVariables.normalColor();
        this._enabled = false;
    };
    VariableData.prototype.getVariable = function(){
        return $gameVariables.value(this._id);
    };
    VariableData.prototype.isEnabled = function(){
        return this._enabled;
    };
    VariableData.prototype.setEnabled = function(enabled){
        this._enabled = enabled;
    };
    VariableData.prototype.setColor = function(color){
        this._color = color;
    }
})();[/pre]

TO_ShowNumberOnMap.rar

1.45 KB, 下载次数: 592

评分

参与人数 5星屑 +147 梦石 +1 收起 理由
king + 12 塞糖头像
余烬之中 + 1 原创发布
翻滚牛宝宝 + 15 精品文章
夏末渐离 + 60 塞糖
夜$神 + 60 精品文章

查看全部评分

头像被屏蔽

国主

梦石
29
星屑
5204
在线时间
1205 小时
注册时间
2015-6-12
回帖
761

短篇十战斗者组别亚军

发表于 2016-3-12 16:29:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
491 小时
注册时间
2015-1-7
回帖
110
发表于 2016-3-12 21:01:22 | 显示全部楼层
可以美化一下,比如加个底图什么的
回复

使用道具 举报

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
回帖
1464
发表于 2016-3-12 21:53:54 | 显示全部楼层
挺好的,不过如果能显示多个或者交替显示就好了.
以及可以添加一些文字 比如 变量1 : 0
这样
回复

使用道具 举报

梦石
0
星屑
50
在线时间
9 小时
注册时间
2016-3-5
回帖
3
 楼主| 发表于 2016-3-13 13:30:01 | 显示全部楼层
汪汪 发表于 2016-3-12 21:53
挺好的,不过如果能显示多个或者交替显示就好了.
以及可以添加一些文字 比如 变量1 : 0
这样  ...

嘛,这个插件实际上只是为了配合某一个游戏的一次应用而摸鱼出来的,可能以后会拓展功能吧……{:2_276:}
回复

使用道具 举报

梦石
0
星屑
4822
在线时间
112 小时
注册时间
2016-1-15
回帖
52
发表于 2017-1-31 15:35:17 | 显示全部楼层
能不能加个删除的命令,请楼主费心弄一下。
回复

使用道具 举报

梦石
0
星屑
4822
在线时间
112 小时
注册时间
2016-1-15
回帖
52
发表于 2017-2-8 15:13:58 | 显示全部楼层
稍微改动了一下,可以显示:文本+变量,这样就可以做一些屏幕提示了 MapBianliang.zip (1.55 KB, 下载次数: 633)

V.png
回复

使用道具 举报

梦石
0
星屑
4822
在线时间
112 小时
注册时间
2016-1-15
回帖
52
发表于 2017-2-8 15:15:00 | 显示全部楼层
使用方法:ShowVariable initialize 1 0.0 0.0 200 left 战斗力:
回复

使用道具 举报

梦石
0
星屑
3341
在线时间
469 小时
注册时间
2014-2-6
回帖
217
发表于 2017-7-3 19:31:39 | 显示全部楼层
mikeyh01 发表于 2017-2-8 15:15
使用方法:ShowVariable initialize 1 0.0 0.0 200 left 战斗力:

还是什么都不显示.......求教怎么用..
回复

使用道具 举报

梦石
0
星屑
55
在线时间
5 小时
注册时间
2017-7-16
回帖
3
发表于 2017-7-24 14:36:12 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部