当你坐在汽车座椅上时,我制作了一个GUI,它会告诉你它有“购买”按钮的汽车的速度和价值。我设法只制作了GUI,但我找不到编写脚本的方法,所以当你点击购买时,它会将玩家购买的汽车传送到经销商的后面。无论如何要做到这一点?
(我制作了一个Roblox Car游戏,编写了自己的房子,建立了经销商,地图等等。但是我找不到按照上述方式做的事情)
谢谢。
答案 0 :(得分:2)
这只是一个例子,所以你必须为你的游戏修改它。
local car = game.Workspace.Car
local button = script.Parent
local teleportto = game.Workspace.DealerShipCarTeleport
button.MouseButton1Down:connect(function()
car:MoveTo(teleportto.Position)
end)
它使用MoveTo()函数,该函数将模型的PrimaryPartCFrame设置为Vector3位置。换句话说,MoveTo()将模型传送到指定位置。
答案 1 :(得分:0)
首先,您需要三个变量:汽车的model
,点击时button
应“购买”汽车,destination
,您所在的地方希望汽车产生(经销商的背面)。
local model = game.Workspace.Car --or whatever the path to the model of your car is
local button = script.Parent --or whatever the path to your button is
local destination = Vector3.new(x, y, z) --the 3D coordinates of where you'd like the car to spawn
现在已经建立了这些,我们需要做到这一点,当你点击按钮时,汽车会在你想要的地方产生。
首先,让我们创建一个函数spawnCar()
,在destination
生成汽车。
local function spawnCar()
model:MoveTo(destination) --use this if you want to move the car that's in the dealership
model:Clone():MoveTo(destination) --use this if you want to make a copy of the car and move that
end
在这里,您有两种选择。第一个选项只是移动已经在经销商处的汽车,但第二个选项首先制作汽车的副本,然后将 移动到经销商的后面。
两个选项都使用汽车模型的MoveTo()
方法。所有型号都有此方法可用。要了解详情,请查看ROBLOX Wiki's page on it。
第二个选项使用汽车模型的Clone()
方法。所有模型和许多其他对象类型(包括零件)都可以使用此方法。要了解详情,请查看ROBLOX Wiki's page on it。
现在,我们将编写“监听”用户单击按钮的代码。请看以下方法:
button.MouseButton1Down:connect(func)
如果我们将这个添加到我们的代码中,每次单击该按钮时,我们将为func
传入的任何函数都将被执行。如果您想了解有关MouseButton1Down
和其他类似属性的更多信息,我强烈建议您查看ROBLOX Wiki;它有关于这些的广泛文档。您可以找到MouseButton1Down
here。
现在,我们将spawnCar()
函数传递给点击监听器。
button.MouseButton1Down:connect(spawnCar) --notice it's "spawnCar", NOT "spawnCar()"
我们已经完成了!这是最终代码的样子:
local model = game.Workspace.Car --or whatever the path to the model of your car is
local button = script.Parent --or whatever the path to your button is
local destination = Vector3.new(x, y, z) --the 3D coordinates of where you'd like the car to spawn
local function spawnCar()
model:MoveTo(destination) --use this if you want to move the car that's in the dealership
model:Clone():MoveTo(destination) --use this if you want to make a copy of the car and move that
end
button.MouseButton1Down:connect(spawnCar) --notice it's "spawnCar", NOT "spawnCar()"
答案 2 :(得分:0)
我相信this正是您所寻找的。您需要做的是在点击按钮时重新设置零件或模型的位置。以下是您可以在按钮中插入的脚本示例:script.Parent.MouseButton1Click:connect(function() Model:MoveTo ( Vector3 position ) end)
。以下是我认为可以帮助您的更多链接:
- https://scriptinghelpers.org/questions/9837/how-do-i-position-a-model
- http://wiki.roblox.com/index.php?title=API:Class/GuiButton/MouseButton1Click
答案 3 :(得分:0)
尝试使用 CFrame 传送汽车
示例:
local car = workspace.Car -- define the car.
local tp = workspace.TP -- Like a position of where it should be, must be anchored at all -- times!!!!
car.CFrame = CFrame.new(tp.Position) -- Position of where you want it to be.
上面的代码设置了 2 个变量,一个是汽车,另一个是 tp 部分。然后我们将汽车 CFrame 设置为 tp 的位置属性。希望能帮到你!