readme
This commit is contained in:
parent
ebdc044978
commit
4bc6aa9f11
88
README.md
88
README.md
@ -1,3 +1,89 @@
|
||||
# AxiNSApi
|
||||
|
||||
为 Unity Switch 封装的 便于调用SDK的库
|
||||
为 Unity Switch 封装的 便于调用SDK的库
|
||||
|
||||
*本仓库作技术研究,因为合规原因,本文不提供任何法律敏感和版权相关的诸如SDK的文件。
|
||||
|
||||
------------
|
||||
|
||||
## 前言和声明
|
||||
|
||||
Unity Switch 开发打包移植相关的一系列教程,by 皓月狩魂(sin365) axibug.com
|
||||
初版分享:
|
||||
|
||||
声明:
|
||||
*文章和开源代码仓库,仅作技术研究,因为合规原因,不包含也提供任何法律敏感和版权相关的诸如SDK的文件。
|
||||
*请自行获取,建议您使用官方授权的开发套件。
|
||||
*谢绝讨论任何技术外的,诸如NS移植游戏开发的性质等无意义问题,我只是技术爱好者。相互尊重,相互学习。
|
||||
|
||||
文章:
|
||||
|
||||
1.Unity Switch 开发/打包/移植教程(包含如何重新Repack NSP,让捣鼓后的零售机运行)
|
||||
http://note.axibug.com/blog/post/akiragatsu/UnitySwitchDev
|
||||
|
||||
2.Unity下Switch开发文件存储踩坑,以及解决方案范例 (Unity Switch下不能用System.IO,只能用nn.fs)
|
||||
http://note.axibug.com/blog/post/akiragatsu/UnitySwitchDevForIO
|
||||
|
||||
3.Switch系统错误码,方便排查问题 (我AxiNSApi中也提供了转换打印,方便排查)
|
||||
http://note.axibug.com/blog/post/akiragatsu/SwitchErrCode
|
||||
|
||||
4.Switch TitleID规则
|
||||
http://note.axibug.com/blog/post/akiragatsu/SwitchTitleID
|
||||
|
||||
工具仓库:
|
||||
|
||||
1. AxibugNSPTools Unity用自动化打包工具(自动完成NSP打包并Repack)
|
||||
https://github.com/sin365/AxibugNSPTools
|
||||
|
||||
|
||||
2. AxiNSApi 已经封装好的Unity下Switch的用户访问,存储挂载,读写API,直接可用
|
||||
https://github.com/sin365/AxiNSApi
|
||||
|
||||
|
||||
再次申明,以上文章和仓库,不提供不包含任何敏感和版权文件,和授权开发者一样,仅讨论和演示上层使用经验交流。
|
||||
|
||||
祝君愉快,我爱Switch
|
||||
|
||||
—— 皓月 2025.4.8
|
||||
|
||||
------------
|
||||
|
||||
## 具体说明
|
||||
|
||||
本仓库已经封装好,包括用户选择读取,存储节点挂载,和读写。
|
||||
|
||||
做了安装封装,NS这东西,在Unity下,使用稍有不当,即会崩溃。
|
||||
|
||||
本文主要探讨Unity下的Nintendo Switch平台 存档或存储相关,
|
||||
|
||||
有朋友就问了,Unity开发的文件存储,不就是Syatem.IO 下直接操作么?并非如此,他就是不一样,可以说是**传统方式完全不可用** ~
|
||||
|
||||
**我先介绍,再告诉你代码怎么写,安心先看**
|
||||
|
||||
我们先来看看在Switch平台下的,情况:
|
||||
|
||||
Application.persistentDataPath 不可用 调用就崩溃,也不用在任何地方动态或静态初始化
|
||||
Application.DataPath 可用 输出 rom:/Data
|
||||
Application.streamingAssetsPath 可用 输出 rom:/Data/StreamingAssets
|
||||
Application.temporaryCachePath 可用 输出 host:/Temp
|
||||
|
||||
像Application.DataPath,Application.streamingAssetsPath这种只读的路径,也不能通过System.IO去访问,调用就会卡死掉。
|
||||
|
||||
而要存储,如Application.persistentDataPath 在Switch下是直接不可用的,类似我PSVita文章讲到的,但比PSVita更严格,甚至不能取值。
|
||||
|
||||
存档模式,需要在ProjectSettings中或者NMeta中将存档大小设置一下,默认为0,否则无法保存文件(实测,如果不设置,你只能存几十字节的东西,超过就崩溃,一定要设置)
|
||||
而设置呢,**要设置 SaveDataSize和SaveDataJournalSize,后者一定要不小于前者,且都是16KiB的倍数,不是16KiB的倍数,你会打包失败**
|
||||
|
||||
|
||||
## How To Use
|
||||
|
||||
//Init请第一时间调用,否则NS文件相关的读写,未初始化,直接使用直接崩溃。
|
||||
AxiNS.instance.Init();
|
||||
|
||||
AxiNSErrCode.cs 中是对Switch的系统各种错误码的打印类,便于调试。
|
||||
|
||||
AxiNSMount.cs 中是存储节点挂载,调用AxiNS.instance.Init()时,存档模式 save:/已经挂载
|
||||
|
||||
AxiNSIO.cs 封装各种文件读写
|
||||
|
||||
其他请查看我的文章,感谢~~
|
||||
Loading…
Reference in New Issue
Block a user