在Lua中被玩家踩到时减小对象大小

在Lua中被玩家踩到时减小对象大小,lua,roblox,Lua,Roblox,我想知道如何逐渐增加Lua中某个对象的大小(每次玩家踩到该对象或执行某个动作时)。 我的代码如下: local snowPart = game.Workspace.Snow.SnowPart -- part I want to change while snowPart.Size.Y == Vector3.new(0, 0, 0) do wait(10) snowPart.Size.Y = snowPart.Size + Vector3.new(0, 0.7, 0) --incr

我想知道如何逐渐增加Lua中某个对象的大小(每次玩家踩到该对象或执行某个动作时)。 我的代码如下:

local snowPart = game.Workspace.Snow.SnowPart -- part I want to change
while snowPart.Size.Y == Vector3.new(0, 0, 0) do
    wait(10)
    snowPart.Size.Y = snowPart.Size + Vector3.new(0, 0.7, 0) --increment if the part gets too small
end

function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
        wait(5)
        snowPart.Size = snowPart.Size.Y - Vector3.new(0, 0.7, 0) --increment the part's size when touched by a player
    end

end
snowPart.Touched:Connect(onTouch)

Y指的是一个数值,您正试图与向量进行比较和相加

local snowPart = game.Workspace.Snow.SnowPart -- part I want to change
while snowPart.Size.Y <= 0 do
    wait(10)
    snowPart.Size.Y = snowPart.Size + Vector3.new(0, 0.7, 0) --increment if the part gets too small
end

function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
        wait(5)
        snowPart.Size = snowPart.Size - Vector3.new(0, 0.7, 0) --increment the part's size when touched by a player
    end

end
snowPart.Touched:Connect(onTouch)
local snowPart=game.Workspace.Snow.snowPart--我要更改的部分

而snowPart.Size.Y就像@Evan Wrynn的答案一样,是的,您试图将
Size.Y
,一个只读数字值设置为向量3。我建议
TweenService
。()

下面是一个简单的例子:

localtweenservice=game:GetService(“tweenService”)
local snowPart=game.Workspace.Snow.snowPart--我要更改的部分
而snowPart.Size==Vector3.new(snowPart.Size.X,0,snowPart.Size.Z)做
等待(10)
snowPart.Size=snowPart.Size+Vector3.new(0,0.7,0)--如果零件变得太小,则递增
结束
函数onTouch(其他部分)
本地字符=otherPart.Parent
本地类人=角色:FindFirstChildWhichIsA(“类人”)
如果是人形的话
等等(5)
本地信息=TweenInfo.new(.5)--.5秒
本地tween=tweenService:Create(雪地零件、信息、{
大小=雪零件。大小-矢量3。新(0,0.7,0)
})
吐温:玩
--如果你不想等那两个孩子,把这个拿走。
等待(.5)
结束
结束
触摸:连接(onTouch)

这会让事情变得更顺利一点。快乐编码

从我看到的情况来看,如果
snowPart.Size.Y
为(0,0,0),您当前正在强制
snowPart.Size.Y
为(0,0.7,0),并且如果一个人形机器人踩在雪地上,您会根据此将尺寸减小(0,0.7,0)。但是,while循环的下一次迭代将把大小重置为(0,0.7,0)。你打算做什么?[注意:我不知道Size和Size.Y在这种情况下是如何工作的,也不知道为什么Size.Y是矢量3而不是简单的双精度]