@rbxts/snapdragon
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.0-beta.1 • Public • Published

    Snapdragon

    Library for UI dragging support, with snapping capabilities in Roblox.

    Documentation for Snapdragon can be found at https://roblox-aurora.github.io/rbx-snapdragon

    Basic Usage

    // Typescript
    import { createDragController } from "@rbxts/snapdragon";
    const controller = createDragController(gui, {SnapEnabled: true});
    controller.Connect() // Attaches the controller to the gui you specify
    
    controller.Disconnect() // Will disconnect the drag controller from the Gui
    -- Lua
    local Snapdragon = require(snapdragonModule)
    local controller = Snapdragon.createDragController(gui, {SnapEnabled = true})
    controller:Connect() -- Attaches the controller to the gui you specify
    
    controller:Disconnect() -- Will disconnect the drag controller from the Gui

    Usage with Roact

    If you want to use Snapdragon with Roact, simply use Roact.Ref with the object you want to be draggable, and create and assign a controller in the didMount method to the ref's instance.

    FAQ

    Why not just use GuiObject.Draggable?

    Draggable is deprecated. It never worked well and isn't flexible - as discussed here.

    This library aims to add the ability to make your UI draggable without the extra work on your part, as well as make it more flexible with snapping capabilities and constraints (soon™)

    What about controller support?

    I would like to add the ability for controllers to drag UI elements at some point. Some console games actually have a faux-mouse type dragging system, it would function in a similar fashion.

    API

    The API for Snapdragon can be found here

    There will eventually™ be proper docs for this library.

    Keywords

    none

    Install

    npm i @rbxts/snapdragon

    DownloadsWeekly Downloads

    39

    Version

    2.0.0-beta.1

    License

    MIT

    Unpacked Size

    53.7 kB

    Total Files

    11

    Last publish

    Collaborators

    • vorlias