|
|
|
SM sprite scroll
Added on 4/15/2000
|
Part 1/3 of the Scrolling menu set.
You must use this behavior in conjunction with the "SCROLL CONTROL" behavior.
Attach this to the sprites that you want to scroll. Set "starting speed" and "starting accel" all other parameters are set with the "SCROLL CONTROL" behavior.
--Sprite Scroll part 1/3 of the Scroll Menu set.
--Created by Brent Moseley April 2000
--brent099@xoommail.com
property mysprite
property moveinc
property movechange
property maxspeed
property oldmax
property startmax
property startaccel
on beginsprite me
mysprite = the spritenum of me
movechange = startaccel
maxspeed = startmax
moveinc = 0
end
on prepareframe me
if the loch of sprite mysprite > the width of the rect of the stage + 150 then --RIGHT
the loch of sprite mysprite = -150
end if
-- |
-- | If the sprite goes off the screen then set it back on the other side
-- |
if the loch of sprite mysprite < -150 then
the loch of sprite mysprite = the width of the rect of the stage + 150 --LEFT
end if
-- if it"s moveing right.
if movechange > 0 then
if moveinc < maxspeed then -- if it"s going slower than target speed.
moveinc = moveinc + movechange --accelerate
else if moveinc > maxspeed then -- if it"s going faster than target speed.
moveinc = moveinc - movechange --decelerate
end if
end if
-- if it"s moveing left.
if movechange < 0 then
if moveinc > -maxspeed then --|same as above.
moveinc = moveinc + movechange--|
else if moveinc < -maxspeed then--|
moveinc = moveinc - movechange--|
end if
end if
the loch of sprite mysprite = the loch of sprite mysprite + moveinc --moves the sprite
end
--called by the "scroll control" behavior.
--sets the speed acceleration.
on setmoveinc me ,a ,b
movechange = a --acceleration/deceleration speed
maxspeed = b --maximum(target) speed
end
--called by the optional "scroll slow down" behavior.
--It slows the sprites down regardless of their direction.
on goslow me ,a
oldmax = maxspeed
if maxspeed > 0 then
maxspeed = a
else
maxspeed = -a
end if
end
--Sets the speed back to normal.
on gonormal me
maxspeed = oldmax
end
on getBehaviorDescription
return "Use this behavior in conjunction with the "SCROLL CONTROL" behavior" & RETURN & RETURN & ¬
"Attach this to the sprites that you want to scroll" & RETURN & ¬
"Set "starting speed" and "starting accel" all other parameters are set with the "SCROLL CONTROL" behavior"
end
on getPropertyDescriptionList me
set pdlist to [:]
addprop pdlist, #startmax, [#comment:"starting speed", #format:#integer, #default:3]
addprop pdlist, #startaccel, [#comment:"starting acceleration", #format:#float, #default:.5, #range: [#min:-2, #max:2]]
return pdlist
end getPropertyDescriptionList
|
|