Fred Endsley

Puppeting Issues and Tips:

Setting Sprite Properties:

Many sprite properties are set through the score or menu options. When a sprite channel is puppetted those properties are frozen and can only be changed by lingo or depuppeting.

Some of these sprite properties can be set or changed for single or multiple sprite frames and channels without using lingo. Obvious examples are: changing the fore or backColor, ink effects, transitions, tempo, scaling, making sprites movable, setting trails, making loops, making editable fields, making sprites visible or invisible with inking, setting colorDepth, etc.

Many sprite properties and movie functions can be effectively set or changed with lingo, without puppeting. However, these settings generally require movement of the playback head to enact, and often revert when the movie leaves the last frame or loops back through the first frame.

Examples of using lingo without puppetting:

Puppetting becomes necessary and useful when sprite properties need to be changed immediately without leaving a frame (updateStage), while the playback head is paused, or when sequential sprites in a channel need to be consistently varied.

To maintain clear control of sprites, its essential to understand when and where to best puppet and to de-puppet. Otherwise chaotic things can happen that make debugging unnecessarily complex. Keep in mind that once a sprite is puppetted (eg. puppetSprite 1, TRUE) everything that follows in that channel is also puppetted (inc. open frames) until that sprite channel is depuppetted (puppetSprite 2, FALSE).