SGDK_CJK
GitHub项目地址 SGDK_CJK (github.com)
SGDK_CJK是一个基于SGDK开发套件的实现多语言显示的世嘉Mega Drive游戏框架。命名为CJK是因为最初计划只是在SGDK中实现中日韩统一表意文字的显示,不过后来又加入了对其他各国语言和表情符号的支持,理论上可以显示Shift-JIS(cp932)、GBK(cp936)、KS_C(cp949)、Big5(cp950)代码页的所有双字节全宽字符和UTF-8(cp65001)代码页中Unicode范围在0000~FFFF的所有从左向右书写的半宽字符,以及最大255个额外的自定义字符和最大255个自定义彩色表情图标。
SGDK使用方法
SGDK开发套件的部署和相关说明请参照:https://github.com/Stephane-D/SGDK
SGDK_CJK函数
VDP_drawTextCJK(VDPPlane plane, u8 palette, u8 backColor, unsigned char *text, int tileIndex, u8 x, u8 y, u8 w) 绘制文本
plane:显示平面(BG_A、BG_B、WINDOW)
palette:调色盘(PAL0、PAL1、PAL2、PAL3)
backColor:背景色在调色盘中的序号
text:显示文本
x:y:显示坐标(以左上角为基准,以tile为单位)
w:显示宽度(以tile为单位)
getLanguage(u8 lang) 设置当前语言
lang:语言代码,预设支持以下6种语言
zh_CN:简体中文;zh_HK:繁体中文;ja_JP:日文;ko_KR:韩文;en_US:英文;ru_RU:俄文
可参考预设文件,自行在\src\localization目录添加其他语言,并在\src\language.c中包含头文件#include “localization/*.h”
getString(u8 index) 获取当前语言字符串
index:字符串序号
getStringEx(u8 lang, u8 index) 获取指定语言字符串
lang:语言代码
index:字符串序号
在\src\localization目录对应的*.c文件中可以编辑字符串数组,需要使用对应语言的代码页打开文件。
控制字符
在文本中插入以下控制字符可以实现一些特殊功能
/0:空字符
/n:换行回车
/a:/a/x01-/a/xff 额外的自定义字符
/e:/e/x01-/e/xff 彩色表情图标字符
/t:水平制表符
/v:垂直制表符
/f:/f0-/f5 切换代码页,依次为UTF-8(cp65001)、Shift-JIS(cp932)、GBK(cp936)、KS_C(cp949)、Big5(cp950),/f 切换代码页为当前语言默认代码页
/r:/r0-/rf 切换文本颜色(调色盘序号15-0倒序), /r 切换文本颜色为默认颜色(调色盘序号15)
/b:回退光标,使用“/f”和“/r”时,如果产生多余的空格,可以使用“/b”进行调整
授权许可
使用 「MIT 许可证」 授权。
虽然不强制,但是使用了SGDK_CJK的游戏项目,在正式发布时,希望能发一份拷贝给我
配套工具
有两个生成字符dat文件的小工具放在\tool目录
SGDK_CJK用于生成常规字体文件
SGDK_CJK_EX用于生成额外的附加字符和表情图标
生成后的dat文件放到\res\font目录替换原文件
游戏开发调试时可直接使用预设字符dat文件,正式发布前建议重新生成dat文件,使用“Identify From Files”筛选游戏项目中实际使用的字符,并取消勾选“Anti-Overflow”选项,以节省空间
点阵字体
预设字符dat文件使用缝合像素字体12px生成
缝合像素字体 / Fusion Pixel Font:https://github.com/TakWolf/fusion-pixel-font
表情图标
预设字符文件中的示例表情图标参考了Google Noto Color Emoji(2008)
仅供功能演示使用,请不要用在正式的游戏项目中
Published | 1 day ago |
Status | In development |
Category | Tool |
Platforms | HTML5 |
Author | Drunkloong |
Tags | 16-bit, Mega Drive, Sega Genesis |
Download
Click download now to get access to the following files:
Leave a comment
Log in with itch.io to leave a comment.