| 赞 | 43 |
| VIP | |
| 好人卡 | |
| 积分 | 64 |
| 经验 | |
| 最后登录 | 2026-8-15 |
| 在线时间 | 608 小时 |
- 梦石
- 0
- 星屑
- 6379
- 在线时间
- 608 小时
- 注册时间
- 2017-9-27
- 回帖
- 205
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 天浩 于 2021-12-18 08:50 编辑
完成效果
效果图
核心代码
- const Http = require("http");
- const Path = require("path");
- const Promisify = require("util").promisify;
- const ReadFile = Promisify(require("fs").readFile);
- const projectPath = Path.dirname(nw.App.argv.join(" "));
- const HostnameArray = getHostname();
- const { Index, Port } = initialize();
- const net = require('net');
- const { URL } = require('url');
- HostnameArray.forEach((hostname, index) => {
- createServer(hostname, index);
- });
- function createServer(hostname, index) {
- const server = Http.createServer(async (req, res) => {
- let url = req.url == "/" ? Index : req.url;
- let src = Path.join(projectPath, decodeURIComponent(url));
- try {
- res.statusCode = 200;
- let data = await ReadFile(src);
- await res.end(data);
- } catch (err) {
- errorHandler(req, res, err);
- }
- });
- server.listen(Port, hostname, () => {
- if (index === HostnameArray.length - 1) {
- var qrcode = new QRCode("qrcode", {
- text: `http://${hostname}:${Port}/`,
- width: 320,
- height: 320,
- colorDark: "#000000",
- colorLight: "#ffffff",
- correctLevel: QRCode.CorrectLevel.H
- });
- }
- console.log(`Server running at http://${hostname}:${Port}/`);
- });
- }
- function getHostname() {
- let hostnameArr = ["127.0.0.1"];
- var networkInterfaces = require("os").networkInterfaces();
- for (var devName in networkInterfaces) {
- var interfaces = networkInterfaces[devName];
- for (var i = 0; i < interfaces.length; i++) {
- var obj = interfaces[i];
- if (obj.family === 'IPv4' && obj.address !== '127.0.0.1' && !obj.internal) {
- hostnameArr.push(obj.address);
- }
- }
- }
- return hostnameArr;
- }
- function errorHandler(req, res, err) {
- if (err.message.includes("no such file or directory, open")) {
- res.statusCode = 404;
- console.warn(req.url, "文件或目录不存在");
- } else {
- res.statusCode = 500;
- console.error(err, err.message);
- }
- res.end();
- }
- function initialize() {
- try {
- let src = Path.join(projectPath, "index.html");
- ReadFile(src, { encoding: 'utf8' })
- .then((html) => {
- let parser = new DOMParser();
- document.title += parser.parseFromString(html, "text/html").title;
- })
- .catch(() => { });
- } catch (_) { }
- let id = Buffer.from(projectPath).toString('hex');
- let domIndex = document.body.querySelector("#index");
- let domPort = document.body.querySelector("#port");
- let Index = localStorage.getItem(id + "_index") || domIndex.value;
- let Port = localStorage.getItem(id + "_port") || domPort.value;
- domIndex.value = Index;
- domPort.value = Port;
- addEventListener(domIndex, domPort);
- return { Index, Port };
- }
- function addEventListener(domIndex, domPort) {
- document.body.querySelector("#reset").addEventListener('click', () => {
- domIndex.value = "index.html";
- domPort.value = 9527;
- });
- document.body.querySelector("#save").addEventListener('click', () => {
- let id = Buffer.from(projectPath).toString('hex');
- localStorage.setItem(id + "_index", domIndex.value);
- localStorage.setItem(id + "_port", domPort.value);
- });
- document.body.querySelector("#reload").addEventListener('click', () => {
- chrome.runtime.reload();
- });
- }
复制代码
核心逻辑全由JavaScript语法编写完成,用到了一些Node接口,如果你会JS,可自行拓展。
平时写插件的大佬拿到,还能自己添加工具,利用JavaScript自己写其它功能的小工具.
不要问为什么拿JS写,问就是不懂其它的
使用方法:
1.下载附件后,找到你的RPG Maker MV安装目录
2.找到tool文件夹,在其中解压附件, 解压后的路径为 “RPG Maker MV\tool\扫码测试工具“,首次使用需要运行 点我载入nwjs.bat 批处理文件加载nwjs环境
如果这里批处理加载不出nwjs,找到你“RPG Maker MV\nwjs-win-test“文件夹,将其中的内容全部复制粘贴到 “RPG Maker MV\tool\扫码测试工具” 文件夹中
如果依然没有“RPG Maker MV\nwjs-win-test“文件夹,可以复制“RPG Maker MV\nwjs-win“里的凑合
记住手动添加nwjs时 nw.exe 或 Game.exe 需重命名为WindowBuilder.exe
如图所示,看图操作难度下降80%
3.完成上一步后,打开MV游戏开发界面,找到工具->RPG Maker MV工具, 继续点击选择路径,找到你的 “RPG Maker MV\tool\扫码测试工具“ 文件夹,
检索到工具后,从找到的工具中选中并添加到附加工具中,点击确认,在你平时测试游戏的按键右方出现了工具图标,那就大功告成了
如图所示,看图操作难度下降99%
扫码测试工具.zip
(16.92 KB, 下载次数: 23, 售价: 5 星屑)
|
评分
-
查看全部评分
|