0
votes

I am a newbie to Maxscript, I am wondering if there is a way to change the value of the range of a spinner?

spinner ScrollToFrame "Select Frame" type:#integer range:[startFrame, totalFrames, 0]

fn getFrameInfo = (
    totalFrames = animationrange.end
    startFrame = animationrange.start
)

button updateFrames "Update Frames" align:#left pos:[120, 15]
on updateFrames pressed do (
    startFrame = animationrange.start
    totalFrames = animationrange.end
-- Code that I thought worked
ScrollToFrame.range:[startFrame, totalFrames, 0]
)
3

3 Answers

2
votes

The : keyword assignment works on control creation, when accessing the created control you have to use regular = assignment:

try destroyDialog test catch()
rollout test ""
(
    fn getFrameInfo =
        [animationrange.start, animationrange.end, animationrange.start]

    spinner ScrollToFrame "Select Frame" type:#integer range:(getFrameInfo())
    button updateFrames "Update Frames"

    on updateFrames pressed do (
        ScrollToFrame.range = getFrameInfo()
    )
)
createDialog test
0
votes

The getFrameInfo function should be:

fn getFrameInfo = [animationrange.start, animationrange.end, currentTime.frame as integer]
0
votes

The range is a propertie so just assign a Point3 value

spinnername.range = Point3

ScrollToFrame.range = [startFrame, totalFrames, 0]