ArenaLess 0.2.0
分类: 下载/工具 · 工具软件 | 来源: 点击进入 | 版本: 0.2.0 |
日期: 2025-06-10 | 人气: | 大小: |
标签: JSON typescript __web_extension arena ArenaPro box3 dao3 神奇代码岛 ArenaLess tobylai 岛研所 菜鸡AIPlus |
新的介绍内容:
ArenaLess:VSCode与TypeScript的神岛游戏制作插件,告别繁琐,拥抱高效
ArenaLess是一款非官方出品的神岛游戏制作插件,专为游戏开发者设计,旨在通过无缝集成VSCode本地版、VSCode在线版与神岛Arena编辑器,为游戏开发带来前所未有的便捷与效率。本插件不仅解决了Arena编辑器功能单一、开发体验不佳的问题,还引入了TypeScript支持,为游戏开发提供更丰富的功能和体验。
文档
想了解使用方法、特性以及如何使用npm包等?请查看以下文档:
快速上手
基础操作几乎与ArenaPro一致。
创建项目
通过Ctrl+Shift+P打开命令面板,输入并选中以下命令:
ArenaLess: 创建ArenaLess项目
创建完项目后,如果左侧文件夹列表没有更新,请点击刷新按钮(vscode.dev的文件更新可能不灵敏)。
项目编写
教程直接使用ArenaPro的教程:你的一个程序。
登录、打包上传
如果没有出现AL按钮,请使用命令ArenaLess: 激活ArenaLess扩展
(WEB版可能不能自动激活)。
- 创建完项目后,您可能会注意到状态栏有一个AL按钮,点击它,选择登录神岛账号,根据提示进行登录(请注意:token内容不可以给别人看)。
- 点击AL按钮,选择链接扩展地图,选择您要链接到的地图。
- 点击AL按钮,选择构建并上传。
常见问题
我想用npm的包,怎么办?
由于ArenaLess是为了兼容vscode web版(vscode.dev)设计的,在这种环境里,npm是无法使用的。所以ArenaLess引入了一种新的方法:支持从网络引入库,支持npm前缀。
// 网络引用库
import ... from 'https://xxxxx/xxxx';
// 使用npm前缀
import ... from "npm:xxx"
import ... from "npm:xxx@1.0.0" // 版本号
import ... from "npm:yyy/路径"
// esm.sh 是一个将npm/jsr/gh上的包转换为es格式的cdn服务
import ... from "https://esm.sh/npm的包名";
import ... from "https://esm.sh/npm的包名(@版本号)"; // https://esm.sh/PKG@SEMVER[/PATH]
import ... from "https://esm.sh/gh/OWNER/REPO[@TAG]/PATH" // github的也可以
import ... from "https://esm.sh/jsr/OWNER/REPO[@TAG]/PATH" // jsr.io的也可以
// 示例:使用JSON5解析带注释的JSON文件
import JSON5 from "https://esm.sh/json5";
import JSON5 from "npm:json5"; // 也可以
const json = JSON5.parse(`{
"foo":"bar" // 注释在这里
}`);
请注意,目前此操作可能存在不稳定性。
为什么编辑器提示红色了?
因为TypeScript语言支持并不支持网络导入,但ArenaLess修改了打包器的逻辑实现了此功能。如果您不喜欢红色提示,可以在导入语句上方添加// @ts-ignore
。
// @ts-ignore
import JSON5 from "https://esm.sh/json5";
网络导入/前缀导入没法兼容ArenaPro怎么办?
细心的用户可以发现,根目录下有一个importMap.arenaless.jsonc
文件,用于指定ArenaLess专属导入库的别名。通过它我们可以实现兼容。
{
"imports":{
"包名":"导入的地址/带前缀符号的包",
// 例子
"json5":"npm:json5"
}
}
// 例子
import JSON5 from "json5"; // 由于您指定了json5的别名,所以可以直接使用json5
// 在桌面环境下使用npm install json5 --save安装json5,然后代码在ArenaPro中也能运行。
这样指定后,ArenaLess中就可以直接写import ... from "包名"
,您可以更改package.json
,使用npm install xxx
安装相应的包。
前缀列表
npm:xxx
->https://esm.sh/xxx
jsr:xxx
->https://esm.sh/jsr/xxx
其他说明
- ArenaLess并非官方出品。
- ArenaLess的API请求会经过ArenaLess-Server服务器进行中转(原API在web存在cors跨域问题,只好使用中转)。ArenaLess-Server是一个神岛API的简单封装,由岛研所托管。我们不会收集用户数据,仅包含API封装。
鸣谢
- 感谢@冷鱼闲风大佬的指点。
- 感谢原ArenaPro项目。
- 感谢神岛实验室。
- 感谢神奇代码岛。
- 感谢岛研所。
以下项目对本项目的实现有很大帮助
- @rollup/browser及其virtual,alias插件。这是本插件打包器的实现。
- esbuild-wasm用于压缩js代码(已改用terser)。
- terser用于压缩js代码。
- pako用来解压缩gzip(模板是gzip压缩过的)。
- esm.sh AL使用它来获取npm,jsr,gh模块。
- hono API中转服务器。
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- MySQL数据管理之备份恢复案例解析视频教程
- 《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
- 160次学习
-
- MySQL索引优化解决方案
- 本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
- 182次学习
-
- 极客学院Docker视频教程
- Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
- 243次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 127次学习
-
- JavaScript极速入门
- 本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......
- 431次学习
-
- Golangmap实践及实现原理解析
- 2022-12-28 505浏览
-
- GoLand调式动态执行代码
- 2023-01-13 502浏览
-
- 试了下Golang实现try catch的方法
- 2022-12-27 502浏览
-
- 用Nginx反向代理部署go写的网站。
- 2023-01-17 502浏览
-
- MySQL主从切换的超详细步骤
- 2023-01-01 501浏览
-
- Mysql-普通索引的 change buffer
- 2023-01-25 501浏览