API 参考
属性
Looped
代码示例
循环
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Looped = true
effect.Parent = Workspace
-- 开始触觉效果
effect:Play()
-- 两秒后停止效果
task.wait(2)
effect:Stop()Position
代码示例
位置
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
-- 设置影响的位置和半径
effect.Position = Vector3.new(0.5, 0.5, 0)
effect.Radius = 1
effect.Parent = Workspace
effect:Play()Radius
代码示例
半径
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
-- 设置影响的位置和半径
effect.Position = Vector3.new(0.5, 0.5, 0)
effect.Radius = 1
effect.Parent = Workspace
-- 播放触觉效果
effect:Play()方法
Play
HapticEffect:Play():()
返回
()
代码示例
播放
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Parent = Workspace
-- 播放触觉效果
effect:Play()SetWaveformKeys
参数
返回
()
代码示例
设置波形键
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
-- 将效果类型设置为自定义以定义波形
effect.Type = Enum.HapticEffectType.Custom
effect.Parent = Workspace
-- 通过 FloatCurveKeys 的表定义自定义波形曲线
-- 时间值以毫秒为单位;值的范围从 0(无触觉)到 1(全强度)
local rampUpWaveform = {
FloatCurveKey.new(0, 0.3, Enum.KeyInterpolationMode.Linear),
FloatCurveKey.new(100, 0.4, Enum.KeyInterpolationMode.Linear),
FloatCurveKey.new(300, 0.8, Enum.KeyInterpolationMode.Linear),
FloatCurveKey.new(400, 1.0, Enum.KeyInterpolationMode.Linear)
}
-- 通过效果的方法设置波形
effect:SetWaveformKeys(rampUpWaveform)Stop
HapticEffect:Stop():()
返回
()
代码示例
停止
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Looped = true
effect.Parent = Workspace
-- 开始触觉效果
effect:Play()
-- 两秒后停止效果
task.wait(2)
effect:Stop()活动