有没有办法使用 math.sin() Lua 始终从 0 开始
Is there a way to always start at 0 using math.sin() Lua
编辑:这个问题是关于 Roblox Lua 的。
我正在使用 math.sin(tick())
获取一个可变数字,并希望它始终从 0
开始。这可能使用 math.sin 吗?除了 tick()
之外,我还可以使用其他方法来完成这项工作吗?
示例:
for i = 1, 10 do
local a = math.sin(tick())+1
print(a)
wait()
end
wait(1)
for i = 1, 10 do
local a = math.sin(tick())+1
print(a)
wait()
end
我的目标是让这个数字每次都从 0 开始,然后从那里增加。因此,它会从 0 开始,然后增加到 2,然后减少回到零,并在我继续调用它时继续在 0 和 2 之间调制。使用上面的示例,数字从 0 到 2 之间的任意数字开始。
我采用了不同的方法并想出了这个。它做的正是我想用 math.sin(tick()) 做的。如果有人知道其他方法可以做到这一点,我想知道。
local n = 0
local m = 0
local Debounce = true
local function SmoothStep(num)
return num * num * (3 - 2 * num)
end
while Debounce do
for i = 1, 100 do
wait()
m = m+.01
n = SmoothStep(m)
print(n)
if not Debounce then break end
end
for i = 1, 100 do
wait()
m = m+.01
n = SmoothStep(m)
print(n)
if not Debounce then break end
end
end
致 non-Roblox 用户:tick()
returns the local UNIX time. wait(t)
生成当前线程 t
秒,最小可能间隔大约为 1/30 秒。
鉴于 math.sin(0)
等于 0
,您要做的是用循环开始的时间减去循环内的 tick()
。这应该使 math.sin
中的表达式在循环开始时大致从 0 开始。
local loopstart = tick()
for i = 1, 10 do
local a = math.sin(tick() - loopstart)+1
print(a)
wait()
end
编辑:这个问题是关于 Roblox Lua 的。
我正在使用 math.sin(tick())
获取一个可变数字,并希望它始终从 0
开始。这可能使用 math.sin 吗?除了 tick()
之外,我还可以使用其他方法来完成这项工作吗?
示例:
for i = 1, 10 do
local a = math.sin(tick())+1
print(a)
wait()
end
wait(1)
for i = 1, 10 do
local a = math.sin(tick())+1
print(a)
wait()
end
我的目标是让这个数字每次都从 0 开始,然后从那里增加。因此,它会从 0 开始,然后增加到 2,然后减少回到零,并在我继续调用它时继续在 0 和 2 之间调制。使用上面的示例,数字从 0 到 2 之间的任意数字开始。
我采用了不同的方法并想出了这个。它做的正是我想用 math.sin(tick()) 做的。如果有人知道其他方法可以做到这一点,我想知道。
local n = 0
local m = 0
local Debounce = true
local function SmoothStep(num)
return num * num * (3 - 2 * num)
end
while Debounce do
for i = 1, 100 do
wait()
m = m+.01
n = SmoothStep(m)
print(n)
if not Debounce then break end
end
for i = 1, 100 do
wait()
m = m+.01
n = SmoothStep(m)
print(n)
if not Debounce then break end
end
end
致 non-Roblox 用户:tick()
returns the local UNIX time. wait(t)
生成当前线程 t
秒,最小可能间隔大约为 1/30 秒。
鉴于 math.sin(0)
等于 0
,您要做的是用循环开始的时间减去循环内的 tick()
。这应该使 math.sin
中的表达式在循环开始时大致从 0 开始。
local loopstart = tick()
for i = 1, 10 do
local a = math.sin(tick() - loopstart)+1
print(a)
wait()
end