欢迎来到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的默认皮肤,用户可以创建他们自己的皮肤。
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的布尔状态。 还可以在结算界面菜单使用。 |
问:为什么?
答:我不知道