home *** CD-ROM | disk | FTP | other *** search
- property myAngleCounter, mySwingCounter, myDirection, carIndex, carouselSprite, leftSprite, rightSprite, totalFrames, maxCount, mySelection, frameFlag
- global gMasterObj
-
- on new me
- set myAngleCounter to 1
- set mySwingCounter to 0
- set myDirection to 0
- set mySelection to 0
- set frameFlag to 0
- return me
- end
-
- on init me, cMember, cSprite, lSprite, rSprite, tFrames, tOptions
- set carIndex to the memberNum of member cMember - 1
- set carouselSprite to cSprite
- set leftSprite to lSprite
- set rightSprite to rSprite
- set totalFrames to tFrames
- set maxCount to tFrames / tOptions
- puppetSprite(carouselSprite, 1)
- puppetSprite(leftSprite, 1)
- puppetSprite(rightSprite, 1)
- append(the actorList, me)
- end
-
- on stepFrame me
- checkButtons(me)
- rotate(me)
- end
-
- on checkButtons me
- if rollOver(leftSprite) then
- if the mouseDown then
- set the member of sprite leftSprite to member (getName(leftSprite) & "3.PCT")
- setDirection(me, 1, 0)
- else
- set the member of sprite leftSprite to member (getName(leftSprite) & "2.PCT")
- end if
- else
- if rollOver(rightSprite) then
- if the mouseDown then
- set the memberNum of sprite rightSprite to member (getName(rightSprite) & "3.PCT")
- setDirection(me, -1, 15)
- else
- set the member of sprite rightSprite to member (getName(rightSprite) & "2.PCT")
- end if
- else
- set the memberNum of sprite leftSprite to member (getName(leftSprite) & "1.PCT")
- set the memberNum of sprite rightSprite to member (getName(rightSprite) & "1.PCT")
- end if
- end if
- end
-
- on setDirection me, whichWay, whichFigure
- if myDirection = 0 then
- if frameFlag then
- set frameFlag to 0
- autoNotPuppet(gMasterObj, 7, 9)
- go("main")
- end if
- set mySwingCounter to whichFigure
- set myDirection to whichWay
- end if
- end
-
- on rotate me
- if myDirection <> 0 then
- set mySelection to 0
- set mySwingCounter to mySwingCounter + myDirection
- if mySwingCounter > maxCount then
- set mySwingCounter to 0
- set myDirection to 0
- else
- if mySwingCounter < 0 then
- set mySwingCounter to maxCount
- set myDirection to 0
- else
- set myAngleCounter to myAngleCounter + myDirection
- if myAngleCounter > totalFrames then
- set myAngleCounter to 1
- end if
- if myAngleCounter < 1 then
- set myAngleCounter to totalFrames
- end if
- set the memberNum of sprite carouselSprite to carIndex + myAngleCounter
- end if
- end if
- else
- if myDirection = 0 then
- repeat with i = 1 to totalFrames / maxCount
- if myAngleCounter = (((i - 1) * maxCount) + 1) then
- set mySelection to i
- if not frameFlag then
- set frameFlag to 1
- go("section" & i)
- end if
- end if
- end repeat
- end if
- end if
- end
-