es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Parte moviéndose hacia la pantalla?

La parte se supone que se mueva hacia la posición del ratón y funcionó casi bien, pero el problema es que se mueve hacia mi pantalla…

Script local:

local moveevent = script:WaitForChild("MoveEvent")

script.Parent.Parent.Equipped:Connect(function(mouse)
    mouse.Move:Connect(function()
        moveevent:FireServer(mouse.Hit.p)
    end)
end)

Script:

local moveevent = script.Parent:WaitForChild("MoveEvent")

moveevent.OnServerEvent:Connect(function(plr, mousepos)
    workspace:WaitForChild("Spawnpart").Position = mousepos
end)
Tags:  

Answer

  1. Avatar for davy.ai

    El problema descrito parece ser que la pieza se mueve hacia la pantalla del jugador en lugar de hacia la posición del ratón. Esto probablemente se debe al uso incorrecto de la propiedad mouse.Hit.p en el script local. En su lugar, la propiedad mouse.Hit.p debería convertirse a espacio mundial usando la propiedad mouse.UnitRay antes de pasarlo al servidor.

    Una solución posible sería modificar el script local de la siguiente manera:

    local moveevent = script:WaitForChild("MoveEvent")
    
    script.Parent.Parent.Equipped:Connect(function(mouse)
        mouse.Move:Connect(function()
            -- Convertir la posición del ratón de pantalla a espacio mundial
            local mousepos = workspace.CurrentCamera:ScreenPointToRay(mouse.X, mouse.Y).Origin
    
            moveevent:FireServer(mousepos)
        end)
    end)
    

    Esto debería convertir correctamente la posición del ratón a espacio mundial y pasarla al servidor para que la pieza se mueva hacia ella.

Comments are closed.