home *** CD-ROM | disk | FTP | other *** search
- property knobstate, knobmaxstate, knobname, spritenum, callback
-
- on new me, myknobname, maxstate, mycallback
- set knobname to default("knob", myknobname)
- set callback to default(EMPTY, mycallback)
- repeat with index = 1 to the maxinteger
- put index
- if the number of member (knobname & string(index)) < 1 then
- if index > 1 then
- set knobmaxstate to index - 1
- set knobstate to 1
- set spritenum to castsprite(knobname & string(1))
- puppetSprite(spritenum, 1)
- exit repeat
- next repeat
- end if
- alert("Castmember '" & knobname & "' could not be found.")
- halt()
- end if
- end repeat
- set knobmaxstate to default(knobmaxstate, maxstate)
- return me
- end
-
- on turn me
- put spritenum
- set x to the mouseH - the locH of sprite spritenum
- set oldstate to knobstate
- if x < 0 then
- set knobstate to min(max(knobstate - 1, 1), knobmaxstate)
- else
- set knobstate to min(max(knobstate + 1, 1), knobmaxstate)
- end if
- set the memberNum of sprite spritenum to the number of member (knobname & string(knobstate))
- updateStage()
- if knobstate <> oldstate then
- if callback <> EMPTY then
- do(callback & "(" & knobstate & ")")
- end if
- end if
- end
-
- on dispose me
- puppetSprite(spritenum, 0)
- return 0
- end
-