OpenTaiko文档说明

为版本0.6.0.0编写

English (United States) | English (United Kingdom) | français | 日本語 | русский | 中文(中国内地)

介绍

欢迎来到OpenTaiko文档说明页!您所看见的一切正在制作中,因为我们仍在记录与本游戏相关的大量信息。

通用

-

游玩

-

制谱

OpenTaiko使用TJA格式谱曲。它们可以通过任意文本编辑器打开,或者使用可视化编辑器,例如PeepoDrumKit。下面是使用的一系列音符种类。

音符种类

OpenTaiko支持许多音符。其中一些在各张谱面都有普遍支持,尽管其他的不常出现。一些在其他模式专用,或有不同表现。

太鼓音符

以下是太鼓普遍用到的音符种类。

编号 名称 说明
0 空白

空格

间隔音符所必需,同时为创建复杂结构提供帮助。

1 红色音符
2 蓝色音符
3 咚(大) 大红色音符
4 咔(大) 大蓝色音符
5 连打开始

连打

标记连打开始。用0延长连打长度,并用8结束连打。

6 连打(大)开始

大连打

标记连打开始。用0延长连打长度,并用8结束连打。

7 气球开始

气球

标记气球开始。用0延长连打长度,并用8结束连打。

与连打相似,但是必须在有限时间内击打一定数量以完成。气球的值由BALLOON标签指定。

8 长音符结束 标记任意长音符的结束。
9 彩球开始

大气球

标记彩球开始。用0延长连打长度,并用8结束连打。

与连打相似,但是必须在有限时间内击打一定数量以完成。彩球的值由BALLOON标签指定。

A 咚(大,两手)

大红色音符

当游玩多人谱面且音符一起对齐时显示连接的手。

B 咔(大,两手)

大蓝色音符

当游玩多人谱面且音符一起对齐时显示连接的手。

康加鼓音符

以下是康加鼓模式普遍用到的音符种类。

当中许多在太鼓使用,但是有一些在此模式专用。

编号 名称 说明
0 空白

空格

间隔音符所必需,同时为创建复杂结构提供帮助。

1 右音符
2 左音符
3 双音符
4 拍手 拍手音符
5 右连打开始

右连打

标记连打开始。用0延长连打长度,并用8结束连打。

6 双连打开始

双连打

标记连打开始。用0延长连打长度,并用8结束连打。

7 气球开始

气球

标记气球开始。用0延长连打长度,并用8结束连打。

与连打相似,但是必须在有限时间内击打一定数量以完成。气球的值由BALLOON标签指定。

8 长音符结束 标记任意长音符的结束。
9 彩球开始

大气球

标记彩球开始。用0延长连打长度,并用8结束连打。

与连打相似,但是必须在有限时间内击打一定数量以完成。彩球的值由BALLOON标签指定。

康加鼓限定音符
I 左连打开始

左连打

标记连打开始。用0延长连打长度,并用8结束连打。

在太鼓模式变为小连打。

H 拍手连打开始

拍手连打

标记连打开始。用0延长连打长度,并用8结束连打。

在太鼓模式变为大连打。

其他音符

以下是所有模式普遍用到的其他音符。

这些音符在普通谱面不会经常使用。您通常只能在噱头谱面中找到它们。

编号 名称 说明
C 炸弹

炸弹音符

玩家应主动避免敲打的音符。如果敲打,切断连击并且猛烈降低魂条。

F 即兴

隐形音符

默认隐形,且无需敲打。如果敲打,播放特殊的声音。

G 咔咚

紫音符

需要玩家同时敲打咚和咔。在康加鼓模式,这出现为双音符。

D 引线连打开始

炸弹连打

标记连打开始。用0延长连打长度,并用8结束连打。

行为与气球相似,但必须及时吹爆。如果用户失败,它将像炸弹音符那样行为,切断连击并伤害他们当前的魂条。

皮肤与自定义

除了OpenTaiko的默认皮肤,用户可以创建他们自己的皮肤。

Lua脚本

OpenTaiko和Lua API(应用程序编程接口)允许创作者更深入个性化他们的皮肤,不仅仅是替换图片和声音,允许更加动态的视觉而不需要更改游戏的源代码。尽管多数菜单有Lua脚本,但是多数脚本在当前仅适合运动背景。Lua API的能力仍在制作中,并且在未来扩展。

只读变量也由OpenTaiko提供,允许创作者变换基于他们脚本的一时刻正在发生的行为。

Lua可以完成的一些例子包括:

调用函数

调用函数,即皮肤向OpenTaiko发送命令执行的函数。

多数函数与您脚本的文件绘制和控制图片相关,不改变游戏本身。

函数 输入种类 说明
控制台绘制
func:DrawText(横坐标, 纵坐标, 文本); 数字, 数字, 字符串 使用皮肤的控制台字体(/Graphics/Console_Font.png)绘制文本。
func:DrawNum(横坐标, 纵坐标, 数字); 数字, 数字, 数字 使用皮肤的控制台字体(/Graphics/Console_Font.png)绘制数字。
图像绘制
func:AddGraph(文件地址); 字符串 加载一张用于您的脚本的图像文件。这是绘制函数作用到您图像的基础。
func:DrawGraph(横坐标, 纵坐标, 文件地址); 数字, 数字, 字符串 在一位置绘制给定图像。
func:DrawGraphCenter(横坐标, 纵坐标, 文件地址); 数字, 数字, 字符串 在一给定坐标的中央位置绘制给定图像。
func:DrawRectGraph(横坐标, 纵坐标, 矩形横坐标, 矩形纵坐标, 矩形宽, 矩形高, 文件地址); 数字, 数字, 数字, 数字, 数字, 数字, 字符串

在一位置绘制给定图像。

矩形用于特定指定您要绘制图像的部分。

如果矩形越出图像的边界,它将循环回来并继续绘制。该方法能用于绘制重复纹理。

func:DrawGraphRectCenter(横坐标, 纵坐标, 矩形横坐标, 矩形纵坐标, 矩形宽, 矩形高, 文件地址); 数字, 数字, 数字, 数字, 数字, 数字, 字符串

在一给定坐标的中央位置绘制给定图像。

矩形用于特定指定您要绘制图像的部分。

如果矩形越出图像的边界,它将循环回来并继续绘制。该方法能用于绘制重复纹理。

图像控制
func:SetScale(横向比, 纵向比, 文件地址) 数字, 数字, 字符串 设置您图像的放大倍率。默认值为1.0。
func:SetRotation(旋转角度, 文件地址) 数字, 字符串 设置您图像的逆时针旋转角度。值通常介于0和360之间。
func:SetOpacity(不透明度, 文件地址) 数字, 字符串 设置您图像的不透明度。值必须介于0和360之间。
func:SetColor(红, 绿, 蓝, 文件地址) 数字, 数字, 数字, 字符串 使用乘法过滤重上色您的图像。所有值必须介于0.0和1.0之间。
func:SetBlendMode(模式, 文件地址) 字符串, 字符串

指定图像混合到背景中的方式。

可用的混合模式有:“Normal”(普通)、“Add”(加法)、“Multi”(乘法)、“Sub”(减法)、“Screen”(穿透)

图像信息
func:GetTextureWidth(文件地址) 字符串 获取加载图片的宽度。如果没有图片,返回-1。
func:GetTextureHeight(文件地址) 字符串 获取加载图片的高度。如果没有图片,返回-1。

接收函数

接收函数,即OpenTaiko发送到您脚本的命令。

其中一些函数每帧都调用,尽管其他一些仅在必要时调用。一些又能被多次调用,主要按玩家。

函数 输入种类 说明
通用
function init() - 当脚本首次加载调用一次。该函数用于初始化数据,包括图像。
function update() -

每帧调用一次。用于计算并更新值。若游戏暂停则临时停止调用。

该方法总是在draw()之前调用。

function draw() - 每帧调用一次。用于控制和绘制图像。
仅游玩
function clearIn(玩家) 整型数

当玩家到达过关范围时调用一次。玩家值是进入过关范围的玩家编号。

玩家ID从0开始,到4结束。

0为玩家1,1为玩家2,2为玩家3,等。

function clearOut(玩家) 整型数 当玩家脱离过关范围时调用一次。玩家值是脱离过关范围的玩家编号。
仅游玩(彩球)
function kusuIn() - 当彩球序列开始时调用一次。
function kusuBroke() - 当彩球成功清除时调用一次。
function kusuMiss() - 当彩球在序列结束之前清除失败时调用一次。
仅游玩(结束)
function update(玩家) 整型数

每帧都调用。用于计算并更新值。不像原函数,它为每个合格的玩家ID调用以运行此脚本。

在一帧可运行多次。

function draw(玩家) 整型数

每帧都调用。用于控制并更新图像。不像原函数,它为每个合格的玩家ID调用以运行此脚本。

在一帧可运行多次。

function playEndAnime(玩家) 整型数

进程完成时调用一次。玩家值是合格的玩家ID以运行此脚本。

在一帧可运行多次。

仅结算
function skipAnime() - 当玩家跳过结算界面动画时调用一次。
仅选曲
function playAnime() -

当玩家在难易度选择界面互换魔王的表谱面和里谱面时调用。

动画用时在皮肤设配置文件指定。

变量

OpenTaiko提供带可读值的变量以获取此刻发生的细节。

一些细节包括玩家所处状态的信息,尽管其他一些可能提供关于游戏模式状态或特定应用参数的细节。

因为这些变量已经保留,所以您不能创建您自己的与下面列表中同名的变量。

变量 种类 说明
应用信息
fps 整型数

获取应用程序的帧速率。

deltaTime 十进制数

获取自上一帧描绘后经过的时间数量。

非整数,值为秒(也就是说,0.0166666……)

lang 字符串

获取当前选定语言的短字符串格式。

(也就是说,“en”、“ja”、“fr”,等。)

玩家信息
playerCount 整型数 获取当前活跃玩家的数字。
p1IsBlue 布尔值

获取玩家1是否为蓝的布尔值状态。(通过在标题菜单选择右)

仅1名玩家;如果不是蓝,或者有2名或更多名玩家返回false。

characterRarities 字符串[]

获取角色的稀有度。

可能的稀有度:"Poor"(低下)/"Common"(普通)/"Uncommon"(罕见)/"Rare"(稀有)/"Epic"(史诗)/"Legendary"(传说)/"Mythical"(神话)

puchicharaRarities 字符串[]

获取迷你角色的稀有度。

可能的稀有度:"Poor"(低下)/"Common"(普通)/"Uncommon"(罕见)/"Rare"(稀有)/"Epic"(史诗)/"Legendary"(传说)/"Mythical"(神话)

玩家信息(游玩期间)
bpm 十进制数[]

获取各玩家的数字列表分辨他们谱面现在所处的BPM。

对各玩家可以不同。

gauge 十进制数[] 获取各玩家0~100之间的数字列表分辨他们在魂条的位置。
isClear 布尔值[] 获取各玩家的布尔值列表分辨各玩家是否过关。
gogo 布尔值[] 获取各玩家的布尔值列表分辨高潮段是否启用。
Gameplay Information
timeStamp 十进制数

获取从谱面经过的以秒为单位的时间,从第一小节开始。

可以为负数,如果谱面没有开始。

塔信息
towerNightNum 十进制数

获取从0开始的数字并且上升到(但不总是到)1,其变化取决于玩家如何推动塔的进程。

决定towerNightNum值的源代码是:Math.Min(CurrentMeasure / Math.Max(140, MaxFloorCount / 2), 1);

AI对战信息
battleState 整型数

获取当前AI对战的情况的相关数字,值介于-9~9之间。默认为0。

零或更高的数代表玩家正在获胜。负数时代表AI正在获胜。

battleWin 布尔值

获取玩家是否在AI对战正在获胜(或已经获胜)AI的布尔状态。

还可以在结算界面菜单使用。

常见问题

问:为什么?

答:我不知道