找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2132|回复: 2

[转载] 把renpy游戏移植到Switch上

[复制链接]
发表于 2023-7-10 02:47:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 liulangdelieren 于 2023-7-10 02:50 编辑

可以在必应上搜RenPy Nintendo Switch,下面已经贴出Github的链接了。
有兴趣的可以点开看一看,我这里研究了半天都没啥头绪,主要是卡在devkitPro这里了。
下面补一个机翻的帮助文档。


Ren'Py for Nintendo Switch
该存储库包含到Nintendo Switch的Ren'Py端口。
存储库位于以下 URL: https://github.com/uyjulian/renpy-switch
Ren'Py是一个使用Python编写的视觉小说引擎。
关于这个项目的讨论在 Lemma Soft 论坛上。

建筑
请查看该文件以获取有关构建此项目的说明,包括其他第三方依赖项。
完成上述文件中的步骤后,运行以生成项目。external_library_build/Building.mdmake

文件格式
强烈建议您使用以下文件格式:

图像资产的 WebP
用于音频资产的 Opus/WebM
VP8/Opus/Matroska 用于视频资产
用于游戏存档的 RPAv2
如果不使用这些格式,则程序可能无法正常工作或性能受到影响。
FFmpeg,cwebp和ImageMagick等免费工具可用于转换文件格式。
rpatool可用于创建和合并RPA文件,也可以转换为RPAv2格式。
可以在不更改文件扩展名的情况下更改文件格式,因此无需更改脚本(文件)。
该文件可以采用 WebP 文件格式,而无需将文件名更改为 。rpyexample.pngexample.webp

RomFS 集成(来自源代码)
要将游戏集成到一个文件中,请将游戏文件放在目录中名为的文件夹中(请参阅文件系统布局部分),然后按照“构建”部分中的说明进行构建。
注意:如果不通过在读写文件系统上运行至少一次游戏(使用此端口或上游 Ren'Py)将 and 文件编译到 and 文件,则看到标题屏幕所需的加载时间将增加。nroContentsromfspyrpypyorpyc

RomFS 集成(来自 SDK 存档)
若要将游戏集成到一个文件中,请执行以下步骤:nro

将游戏文件放在名为该文件夹中的文件夹中(请参阅文件系统布局部分)。Contentsromfs
从 devkitPro pacman 安装软件包(如果您还没有,请按照此处的安装说明进行操作)switch-tools
生成:control.nacpnacptool --create TITLE AUTHOR VERSION control.nacp
将所有内容打包到一个文件中:nroelf2nro renpy-switch.elf OUTPUT.NRO --romfsdir=romfs --nacp=control.nacp --icon=LOGO.JPG
文件系统布局
以下文件或文件夹必须与 或 位于 RomFS 中的目录中:.nro

lib.zip- 包含 Python stdlib、Ren'Py 模块、pygame_sdl2 模块和 libnx 绑定模块。
renpy- 包含 Ren'Py 使用的目录。common
renpy.py- Ren'Py的启动脚本。
game- 包含游戏文件。这是您放置游戏的地方。
libnx 绑定
Ren'Py for Nintendo Switch 支持大多数完整的 libnx 绑定。
绑定由 SWIG 生成。

要使用绑定,您需要导入库 。libnx

import libnx
若要初始化结构,可以使用以下语法:

clkrstSession = libnx.ClkrstSession()
若要访问结构的成员,可以使用以下语法:

service = clkrstSession.s
若要访问枚举,可以使用以下语法:

libnx.PcvModuleId_CpuBus
若要调用函数,可以使用以下语法:

libnx.clkrstOpenSession(clkrstSession, libnx.PcvModuleId_CpuBus, 3)
此功能的示例用例:

安装游戏 RomFS
在系统内存中创建保存数据
在 Web 浏览器小程序中打开视频(带硬件加速)
打开软件键盘小程序
可用的 Python 原生模块
The following native Python modules are available in Ren'Py for Nintendo Switch:

_bisect
_codecs
_codecs_cn
_codecs_hk
_codecs_iso2022
_codecs_jp
_codecs_kr
_codecs_tw
_collections
_csv
_ctypes_test
_elementtree
_functools
_heapq
_hotshot
_io
_json
_locale
_lsprof
_md5
_multibytecodec
_random
_sha
_sha256
_sha512
_socket
_sre
_struct
_symtable
_testcapi
_weakref
array
audioop
binascii
bz2
cPickle
cStringIO
cmath
datetime
errno
fcntl
future_builtins
imageop
itertools
math
operator
parser
posix
pyexpat
strop
time
timing
unicodedata
xx
xxsubtype
zipimport
zlib
许可证
该项目在 MIT 许可证下获得许可。请阅读该文件以获取更多信息。LICENSE

发表于 2023-7-10 08:37:49 | 显示全部楼层
这项目3年前就被作者主动封印了……

https://lemmasoft.renai.us/forums/viewtopic.php?p=512484

根据作者的说法:Since Switchroot Android has gotten a lot better over the past couple of months, please use it with the official Android port of Ren'Py instead.

建议楼主还是研究Switchroot Android的方向……
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2023-7-10 16:41:38 | 显示全部楼层
被诅咒的章鱼 发表于 2023-7-10 08:37
这项目3年前就被作者主动封印了……

https://lemmasoft.renai.us/forums/viewtopic.php?p=512484

早给我那台Switch刷Android10了,只是想看下原系统有没有可能移植而已
回复 支持 抱歉

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-12-22 20:18 , Processed in 0.117093 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表