on getBehaviorDescription me
return "This behavior will place ripples at the mouse location as the mouse is dragged. The result is a water ski effect."
end
on getPropertyDescriptionList me
set list = [:]
addProp list, #postLength, [#comment: "Exit Delay:", #format: #integer, #default: 100, #range: [#max: 1000, #min:1]]
return list
end
on beginSprite me
set sNum = the spriteNum of me
set frameCount = postLength
ripple(sprite sNum)
PauseEffect(sprite sNum, #ripple)
end
on endSprite me
set pos = getone(the actorList, me)
if pos then
deleteAt(the actorList, pos)
end if
end
on mouseDown me
set frameCount = postLength
StopEffect(me) -- removes from the actorList
ContinueEffect(sprite sNum, #ripple)
repeat while the mouseDown
set x = the mouseH - (the left of sprite sNum)
set y = the mouseV - (the top of sprite sNum)
ripple(sprite sNum, [xLocation: x, yLocation: y])
updateStage
end repeat
ResumeEffect(me) -- adds (once) to the actorList
end
on stepFrame me
set frameCount = frameCount - 1
if frameCount <= 0 then
StopEffect(me)
end if
end
on StopEffect me, sym
-- removes this behavior from the actorList
if not voidP(sym) then
if sym <> #ripple then exit
end if
set pos = getone(the actorList, me)
if pos then
deleteAt(the actorList, pos)
PauseEffect(sprite sNum, #ripple)
end if
end
on ResumeEffect me, sym
-- adds this behavior to the actorList
if not voidP(sym) then
if sym <> #ripple then exit
end if
set pos = getone(the actorList, me)
if pos = 0 then
Add(the actorList, me)
ContinueEffect(sprite sNum, #ripple)
end if
end
Contact
MMI
36 South Court Sq
Suite 300
Newnan, GA 30263
USA