需要找出导致插入字符“ ^ ”后出现数字产生颜色的原因

在某些游戏中,例如Quake或Call of Duty,您可以使用插入字符“^”然后使用数字(例如^1)更改某些可重命名标题的颜色以产生红色。

我目前正在开发一个公共Lua项目,我正在努力找出导致此问题的原因。我已经检查了代码,但由于这种情况在许多游戏中发生,而相同颜色与相同数字相关联,因此我假设这不是应用程序内置的功能,而是已经内置在其他地方的功能。我遇到的问题是我找不到它内置的位置或内容,同时由于没有术语,很难在Google或提问时得到帮助。

这种格式来自哪里?

点赞
用户7509065
用户7509065

你的假设是错误的:这些颜色不是 Lua 的一部分,而是游戏引擎的一部分。例如,这里是 Quake 3 中的代码

        if ( Q_IsColorString( s ) ) {
            memcpy( newColor, g_color_table[ColorIndex(*(s+1))], sizeof( newColor ) );
            newColor[3] = color[3];
            trap_R_SetColor( newColor );

恰好这些颜色代码的标准在游戏中变得常见,就像 WASD 键被用作箭头键在几乎所有的游戏中都很普遍一样。

2020-05-12 05:38:01