von dp am 28.Juli 97 um 00:54:29:
I know of no obscure lingo to question a filmloop whether its finished. I saw Dave's solution reposted by Michael Bashista. However, you still have to input the number of frames of that loop as a constant. I'm in the midst of a project with hundreds of filmloops with animations like "talking", "walkingLeft", ... I wanted a FrameScript that could treat them all with minimum adaption necessary. So each FilmLoop keeps the info about its length in its name. i.e.: "talking-3", "walkingLeft-9". If i.e. "talking-3" needs to be repeated 10 times with the filmloop living in sprite 30 the handler below serves me well. I keep a collection of versions of it with the typical values, drag &drop them where needed and need not care if someone else decides to add a frame to that loop. If it happens to be "talking-5" in the end, I won't have to change a bazillion of frame scripts. -- FrameScript plays a FilmLoop wieOft times on exitFrame global gAnimCount,gAnimTimes -- adapt this to the number of times you want the FilmLoop displayed set wieOft=10 -- adapt this to the sprite your filmloop sits in set animSprite=30 if voidP(gAnimTimes) then set gAnimTimes=1 if voidP(gAnimCount) then set gAnimCount=1 set dName=the name of member the member of sprite animSprite set da= offset("-", dName) set darst=chars(dName,1,da-1) set maxLoop=value(chars(dName,da+1,the number of chars in dName)) if maxLoop<=gAnimCount then -- done once set gAnimCount=value(VOID) set gAnimTimes=gAnimTimes + 1 -- may be once more? if wieOft<gAnimTimes then -- no, we're through set gAnimTimes=value(VOID) go the frame +1 else set gAnimCount=1 go the frame end if else set gAnimCount=gAnimCount + 1 go the frame end if end Daniel Plaenitz
D. Plänitz