共计 2681 个字符,预计需要花费 7 分钟才能阅读完成。
跟随行为脚本界面
该接口派生自 IBehaviorInstance,用于添加特定于 Follow 行为的 API。IFollowBehaviorInstance
内置属性字符串
Follow 行为使用以下字符串来引用某些 API 中的内置属性:、、、、"x""y""z-elevation""width""height""angle""opacity""visibility""destroyed"
插值字符串
以下字符串用于引用插值模式:、、。"step""linear""angular"
关注行为 API
startFollowing(inst,fromCurrentPosition = false)
开始遵循指定的 IInstance。这将开始记录指定对象随时间推移的更改,并且在延迟期过后,它将开始跟踪已启用属性的更改。在延迟过去之前,将是错误的,因为还没有任何数据可以遵循。或者,可以将参数设置为,这样可以立即关注。启用后,这将根据以下对象过去在延迟时间的当前状态创建初始历史记录条目。因此,立即为 true,并且对象能够立即开始更新。这具有在延迟时间内从下一个对象的起始位置插值到下一个对象的起始位置的效果。hasFollowDatafromCurrentPositiontruehasFollowData
stopFollowing()
停止记录所关注对象的历史记录。所遵循的对象的任何记录历史记录仍将保留,并且它仍将继续跟踪更改,直到使用此操作为止。
followInstance
对所遵循的 IInstance 的只读引用,如果没有。null
模式
设置或获取与 follow 模式相对应的字符串,该字符串可以是 或 之一。"time""distance"
延迟
最大延迟
历史速率
设置或获取相应的行为属性。有关详细信息,请参阅“遵循行为手册”条目。
clearHistory()
删除有关被跟踪对象的任何记录历史记录。这将导致变为 false 并停止更新对象,直到再次收集到足够的数据。这对于重置行为很有用。hasFollowData
rewindHistory(时间)
将后续时间按给定时间(以秒为单位)倒回,删除超过该时间的历史记录条目,然后继续记录历史记录。请注意,由于超过该时间的数据将被擦除,因此无法倒带超过最大延迟的时间。此操作允许实现“倒带时间”功能,在该功能中,对象可以向后倒退,然后从不同的位置继续,同时保留其继续时间之前的历史记录。
hasFollowData
一个只读布尔值,指示行为是否有足够的数据来开始跟踪延迟。例如,如果行为以 5 秒的时间延迟开始跟随对象,则在前 5 秒内没有跟随数据,因此该对象将不会更新,并且将为 false。一旦 5 秒过去,它就会开始更新,并且将为 true。请注意,如果 following 以 set to 开头,则算作立即拥有关注数据。hasFollowDatahasFollowDatafromCurrentPositiontrue
setFollowingProperty(prop,isEnabled)
isFollowingProperty(属性)
设置或获取是否遵循内置属性。请参阅上面的内置属性字符串部分,了解可以为 prop 指定的字符串。
setPropertyInterpolation(prop,interpolation)
getPropertyInterpolation(prop)
设置或获取其中一个内置属性的插值模式。有关可以为 prop 指定的字符串,请参阅上面的内置属性字符串部分,有关可以为 interpolation 指定的字符串,请参阅插值字符串部分。通常,这用于将其中一个内置属性从平滑插值更改为步进插值。例如,使用 Platform 行为镜像对象时,应始终立即更新宽度,并且不插入任何中间值。propinterp
startFollowingCustomProperty(customProperty,插值)
stopFollowingCustomProperty(自定义属性)
isFollowingCustomProperty(自定义属性)
启动、停止或测试是否遵循自定义属性。这允许 Follow 行为跟踪内置属性之一(如 X 和 Y 位置)以外的自定义值。可以遵循多个自定义属性,每个属性都由不区分大小写的字符串标识。该参数确定如何确定历史记录条目之间的值(有关可指定的字符串,请参阅插值字符串部分)。Step 不插值,只使用上一个历史记录条目。线性插值适用于位置和大小等线性值。角度插值适用于角度等旋转值。请注意,如果自定义属性值是字符串,则仅支持步骤插值。要记录的值必须设置为,然后可以检索要遵循的值。interpolationsetCustomPropertyValue()getDelayedCustomPropertyValue()
setCustomPropertyValue(customProperty,value)
设置所遵循的自定义属性的当前值。自定义属性由不区分大小写的字符串标识。参数可以是字符串或数字,但如果是字符串,则仅使用步进插值模式。在遵循自定义属性时,应在每次刻度时使用此方法,以便在行为决定添加历史记录条目时可以使用最新值。value
getDelayedCustomPropertyValue(自定义属性)
检索自定义属性要遵循的当前值,该值由不区分大小写的字符串指定。
is 已暂停
设置或获取是否暂停关注。暂停时,不会记录进一步的历史记录,但它也会停止推进后续时间。恢复后,该行为将重新开始记录所关注对象的历史记录。如果跟随对象在跟随暂停时发生了重大变化,则它将在跟随历史记录时跳到新位置,因为两者之间的任何更改都不会保存。
saveHistoryToJSON(maxDelay = 0)
将以下对象的当前记录历史记录保存到 JSON 对象。然后,以后可以使用 再次加载。该参数可用于仅保存最近历史记录的一部分,而不是所有记录的历史记录,适用于记录 / 重播功能,当记录持续时间小于行为的最大延迟时。如果为 0,则保存所有历史记录。loadHistoryFromJSON()maxDelaymaxDelay
loadHistoryFromJSON(json)
从之前保存的 JSON 对象加载所跟踪对象的记录历史记录。这还会将延迟设置为加载最早的历史记录条目的时间,因此它会立即跟随最初保存的数据量。这允许创建记录 / 回放功能。saveHistoryToJSON()
isEnabled
设置或获取一个布尔值,指示是否启用该行为。如果禁用,它将完全处于非活动状态,不会记录任何历史记录或更新对象。