Hi Andreas,
> But if I resize the sprite (using width or rect or whatever) and load > new members into it, every image will be resized to the set sprite > dimensions. > > Compensating for this creates all kinds of flickering and > inconssistent behavior for the end user. (See example* further down.) > > Q: How do I reset the sprite so that it automatically adjusts to the > size of its contents? (_Before_ displaying the contents, that is...) I've just tried the un-puppetization then re-puppetization of sprites quite successfully, like in the test script below. (caveat : with directToStage videos I don't know how this may work) The idea is to kept the loc of sprite, unpuppet it to ask him to forgot its lingo based property changes and re-puppet him immediately and set its new properties (bypassing this un/repuppetisation already makes me encounter unpredictable (at last not the ones I've predicted) results) hth, .seb -- test behavior ---------------------------------------------------------------------- ---- SYSTEM HANDLERS ---- SYSTEM * on _____________________SYSTEM_HANDLERS_________________________ () on beginSprite me me.miReset() end on mouseUp me myMember = sprite(me.spriteNum).member case myMember.name of: "bmp1": me.miChange() "bmp2": me.miReset() end case end ---------------------------------------------------------------------- ---- PRIVATE METHODS ---- PRIVATE * on _____________________PRIVATE_METHODS___________________________() on miChange (me) ----------------------------------------------------- -- PRIVATE -- > mouseUp ------- mySprite = sprite(me.spriteNum) myLoc = mySprite.loc newMember = member("bmp2") -- restore default sprite settings puppetSprite me.spriteNum, FALSE puppetSprite me.spriteNum, TRUE myW = newMember.width /2 myH = newMember.height/2 myRect = rect(myLoc[1]-myW,\ myLoc[2]-myH,\ myLoc[1]+myW,\ myLoc[2]+myH) mySprite.member = newMember mySprite.rect = myRect end -- miChange handler on miReset (me) ------------------------------------------------------ -- PRIVATE -- > mouseUp ------- mySprite = sprite(me.spriteNum) myLoc = mySprite.loc newMember = member("bmp1") -- restore default sprite settings puppetSprite me.spriteNum, FALSE puppetSprite me.spriteNum, TRUE myW = newMember.width myH = newMember.height myRect = rect(myLoc[1]-myW,\ myLoc[2]-myH,\ myLoc[1]+myW,\ myLoc[2]+myH) mySprite.member = newMember mySprite.rect = myRect end -- miReset handler on _____________________END_OF_OBJECT_____________________ () on _______________________________________________________________() [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]