Sonolus Wiki

02. 生命周期

在本章中,我们将介绍在观看模式中,实体的生命周期是如何被管理的。

时间线与 updateSpawn

与游玩模式中时间被线性处理不同,玩家可以自由地在观看模式中快退或快进,因此这就需要一个不同的机制来管理实体的生命周期。

每一帧,全局的 updateSpawn 回调函数将被调用,其返回值将被当作关卡时间线的当前“时间”。大多数的引擎都只是简单地返回当前时间或缩放时间。

在我们的引擎中,我们将返回缩放时间:

export const updateSpawn = () => time.scaled
export const updateSpawn = () => time.scaled

spawnTimedespawnTime

对于每一个实体,它的 spawnTimedespawnTime 回调函数将被调用,其返回值与 updateSpawn 共用同一条时间线,并被用作实体的生成时间范围。

实体将会基于时间线中的当前时间自动生成与销毁。举个例子,一个实体的生成时间范围为 100200,那么它将会在时间从 99 前进到 100 时自动生成,并会在时间从 199 前进到 200 时自动销毁。