查看: 5410|回复: 4

[搬运汉化] 左上角信息通知提示插件 - LeNotifications.js

[复制链接]
梦石
0
星屑
25359
在线时间
1136 小时
注册时间
2019-3-5
回帖
1303
发表于 2019-5-8 17:46:28 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 Zeldashu 于 2019-5-8 17:50 编辑

QQ图片20190508174638.png
这是一个左上角提示信息插件 + 一个我也不知道是什么用的插件。

LeUtilities.js为前置
LeNotifications.js则是本体,两者缺一不可。

LeUtilities.js虽然是前置,但是排在本体之前或者之前似乎都可以。

本人已经对LeNotifications.js进行了粗略的汉化,使用方法参考说明页即可。

声明:
本人并不是该插件的作者,只是有需求才对这个插件进行汉化,出于研究的目的才进行分享。
虽然这两个插件可以免费使用(应该是,如果我没理解错的话,不放心的话你可以打开注释看看),但我真的不知道作者的主页是多少,这是我在某个小黄油上扒下来的。

其实我就是希望有大佬帮忙看一下这个前置有什么作用。

目前已知问题:
自定义文本内容需要在前后加上' ',然后是莫名提示缺少音频文件,不知道是不是前置的锅,我要死了。


LeUtilities.js代码一览/*
#=============================================================================
# Lecode's Utilities
# LeUtilities.js
# By Lecode
# Version 1.2
#-----------------------------------------------------------------------------
# TERMS OF USE
#-----------------------------------------------------------------------------
# - Credit required
# - Keep this header
# - Free for commercial use
#-----------------------------------------------------------------------------
# Version History
#-----------------------------------------------------------------------------
# - 1.0 : Initial release
# - 1.1 : stringAppendWithSym
#                : stringAppendWithComma
#                : stringSplit
#                : commandGetTextAsArg
# - 1.2 : getRandomValueInArray
#=============================================================================
*/
var Imported = Imported || {};
Imported.Lecode_Utilities = true;
/*:
* @plugindesc Lecode's utilities plugin.
* @author Lecode
* @version 1.1
*
* @help
* ( Nothing :B )
*/
//#=============================================================================

function LeUtilities() {
    throw new Error('This is a static class');
}

LeUtilities.findBattlerSprite = function(battler) {
        if( LeUtilities.isScene("Scene_Battle") ) {
                if( battler.isActor() ) {
                        var sprites = LeUtilities.getScene()._spriteset._actorSprites;
                } else {
                        var sprites = LeUtilities.getScene()._spriteset._enemySprites;
                }
                for(var i = 0; i < sprites.length; i++) {
                        var sprite = sprites;
                        if(sprite._battler === battler) return sprite;
                }
        } else {
                return null;
        }
};

LeUtilities.getScene = function() {
        return SceneManager._scene;
};

LeUtilities.isScene = function(str) {
        var scene = this.getScene();
        var bool = eval("scene instanceof "+str);
        return bool;
};

LeUtilities.stringAppendWithSym = function(str,toAppend,sym) {
        toAppend = String(toAppend);
        sym = String(sym);
        if(toAppend === "") return str;
        return (str === "") ? toAppend : str+sym+toAppend;
};

LeUtilities.stringAppendWithComma = function(str,toAppend) {
        return this.stringAppendWithSym(str,toAppend,",");
};

LeUtilities.stringSplit = function(str,sym) {
        str = String(str);
        if(str === "") {
                return [];
        } else if (!str.match(sym)) {
                return [str];
        } else {
                return str.split(sym);
        }
};

LeUtilities.CommandGetTextAsArg = function(args,start) {
    var text = "";
    for(var i = start; i < args.length; i++) {
        text += args;
        if(i != args.length-1) {
            text += " ";
        }
    }
    return text;
};

LeUtilities.getRandomValueInArray = function(array) {
        var index = Math.floor((Math.random() * array.length));
        return array[index];
};

LeUtilities.removeInArray = function(array,element) {
        if(array.contains(element)) {
            var index = array.indexOf(element);
            array.splice(index,1);
        }
};

LeUtilities.removeAllChildren = function(holder) {
        while(holder.children[0]) { holder.removeChild(holder.children[0]); }
};

LeUtilities.rectRectCollision = function(rect1,rect2) {
        return (rect1.x < rect2.x + rect2.width &&
                   rect1.x + rect1.width > rect2.x &&
                   rect1.y < rect2.y + rect2.height &&
                   rect1.height + rect1.y > rect2.y);
}

LeUtilities.circleCircleCollision = function(circle1,circle2) {
        var cx1 = this.getSpriteCenter(circle1).x;
        var cy1 = this.getSpriteCenter(circle1).y;
        var cx2 = this.getSpriteCenter(circle2).x;
        var cy2 = this.getSpriteCenter(circle2).y;

        var dx = cx1 - cx2;
        var dy = cy1 - cy2;
        var distance = Math.sqrt(dx * dx + dy * dy);

    var radius1 = (circle1.width*circle1.scale.x)/2;
    var radius2 = (circle2.width*circle2.scale.x)/2;

        return (distance < radius1 + radius2);
};

LeUtilities.circleRectCollision = function(circle,rect)
{
        var cx = this.getSpriteCenter(circle).x;
        var cy = this.getSpriteCenter(circle).y;
        var rx = this.getSpriteCenter(rect).x;
        var ry = this.getSpriteCenter(rect).y;


    var circleDistance_x = Math.abs(cx - rx);
    var circleDistance_y = Math.abs(cy - ry);
    var radius = (circle.width*circle.scale.x)/2;

    if (circleDistance_x > (rect.width/2 + radius)) { return false; }
    if (circleDistance_y > (rect.height/2 + radius)) { return false; }

    if (circleDistance_x <= (rect.width/2)) { return true; }
    if (circleDistance_y <= (rect.height/2)) { return true; }

    var cornerDistance_sq = (circleDistance_x - rect.width/2)^2 +
                         (circleDistance_y - rect.height/2)^2;

    return (cornerDistance_sq <= (radius^2));
};

LeUtilities.getSpriteCenter = function(sprite) {
        var w = sprite.width*sprite.scale.x;
        var h = sprite.height*sprite.scale.y;
        return {
                x: sprite.x + w/2 - sprite.anchor.x*w,
                y: sprite.y + h/2 - sprite.anchor.y*h
        };
};



链接: https://pan.baidu.com/s/1-ZQ62Ap39UxgmTvTqGEfMg 提取码: y8tv
梦石
0
星屑
5639
在线时间
1052 小时
注册时间
2008-6-9
回帖
494

开拓者

发表于 2019-5-8 23:28:02 | 显示全部楼层
应该是前置没用,但是他的其他插件都需要前置。。

点评

请问你知道这位插件作者的主页吗?  发表于 2019-5-9 12:35
总是没耐心做一个游戏。。
回复

使用道具 举报

梦石
0
星屑
3662
在线时间
1133 小时
注册时间
2017-4-6
回帖
229

开拓者

发表于 2019-5-9 23:40:17 | 显示全部楼层
回复

使用道具 举报

梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

发表于 2019-7-22 11:21:44 | 显示全部楼层
这个插件好厉害 特别好用
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部