//  Script generated by Search Maker Pro:

s1=new Array();s1[1]=new Array("index.htm","Windows for Shockwave -- Director Downloadable Behaviors by Jim Andrews","Windows for Shockwave 4.5 documentation homepage -- Director Downloadable Behaviors by Jim Andrews","Windows_For_Shockwave Current Version WFS48p3 (Professional) WFS48s3 (Standard) (email updates Date:20/05/04 What's Document Windows Shockwave? Dynamic Sprite Creation Download Install System Requirements Previous Versions Movies Learning Shockwave Applications appears Director Library Palette taking feature multimedia tutorial proceed purchase. behaviors enables onstage windows, dialog boxes, cascading menus, right-click (Control+click pop-up cursor control. generally, 'multi-sprite', Flash: create multiple sprites treated behavior supply operating elements multi-sprites, families multi-sprites. multi-sprites menus. Projectors. suitable developers knowledge. supplies extensive programmers access functionality. tutorials working quickly. ability easily destroy sprites,dynamic thereof. allocate sprites? Dummies result simultaneously instantiated sprites) bounds number dummys &quot;oops Martians&quot; whatever). eliminates sprites. &quot;Script Writer&quot; handlers static creates easily-called called, copies model. knowledge features intermediate, creation/destruction/management advanced procedure gotchas manage creating windowed Shockwave. alternative making projectors (Director support Shockwave) (Director's concept) things benefit cohesive behavior. windowing menu-making developing retains enhances engine sprites, stress building getting unnecessarily, maximum channels simultaneous reuse). review. mediamacros.com reviewed overview includes quickly features. published director-online.com. Examples bitmaps vector graphics tutorials, graphics. application development environments, prescribed. standard looking, primarily behaviors, graphics, fairly slinky, Computational Overhead scripts &quot; Handle&quot; Element b&quot; parent scripts. comparison constant processing. matter instances Element&quot; comparisons background worrying slowing strong performance. well-documented Technical Writer). Unsupported Macromedia 'dynamic creation/destruction Professional &quot;Dynamism&quot; optionally &quot;Dynamic creation/destruction&quot; accomplished puppeting unpuppeting Experienced successfully Macromedia. words, guarantee functionality continue properly subsequent Director. testing makeScriptedSprite removeScriptedSprite commands introduced checks you're using. higher, makeScriptedSprite/ removeScriptedSprite; earlier Director, puppetSprite. makeScriptedSprite/removeScriptedSprite apparently migration officially creation, important still, nonetheless, unsupported. puppetSprite implementation moment. updating subtle differences; recommended advised migrate backward compatible makeScriptedSprite/RemoveScriptedSprite, primary documentation dynamism chance Professional. project leaves choice. Purchase, Download, purchase update elements/multi-sprites/families allocation resources faster resource-type dummies. scenes functionality, you'll &quot;Drag constrains window configurable rectangle relative element's window. Enhanced parent-child improved wfsSetParent wfsSetChild. action feature-tour. &quot;6: constrained multi-sprite parent) computation. hundred amount computation: Expanded Manager Parameter permit initial centering control children parents. Smarter existence assume correct position menu). bug-fixes. animated instruction half-hour started quicker normal tutorials. highly navigable, reference easily. page). Indexed search updated globals &quot;gWFS&quot;; properties &quot;pWFS&quot;; &quot;wfs&quot;. guaranteed name-space conflicts globals, properties, &quot;gWFS&quot; &quot;pWFS&quot; developed upgrading projects delete reattach behaviors. follow instructions: folder installation. temporary Edit&gt;Copy Member member. Edit&gt;Paste version. icons. initialize &quot;4: Window/Menu properly, select attached Property Inspector second blank. changed wfsCreateWindowManager parameters. additional parameter: centerWindow. parameter. called handler &quot;wfsCreateWindowManager&quot; insert boolean parameter, initially centered haven't illustration develop Connection. Arteroids developed. guinea encounter moment, windows. consists types: animation simulation authoring environment. (which download) 'samples' documentation. concerning behavior, bitmap, documentation). extensively documented programmers. left). picture details. peruse elements. programmer, available, themselves. subscribe devoted answer questions subscribers consult asking questions. Suggestion: Structure suggest consider requirement helpful. drawback execution draggable dropping dragged. construct easier. sweat. sweating. boxes. groups disappear changing groups. transfer center staying Score. entities supported Delphi, Visual Basic, blocks applications! documents simultaneously. Photoshop, (pictures) types. that's create. generally configure tools. typically collected operated talking Photoshop underlying involves individuals functions natural arranging visible coordinated units. typical Context(Art) software obviously artists business alike. Writings apis.htm arrowformenus.htm closeawindow.htm closemywindow.htm credits.htm cursorcontrol.htm dragelement.htm dragelementb.htm dynamism.htm dynamismattachers.htm dynamismchannelmanager.htm dynamismconstructors.htm dynamismdeattachers.htm dynamismdestructors.htm handle.htm handleb.htm menuitemhibehav.htm menuitemhivector.htm menumanager.htm menumanagerbitmap.htm menuverb.htm mousehandlers.htm openawindow.htm prepareMovie.htm purchase.htm resources.htm rollover.htm rules.htm scriptwriter.htm scriptwriterwriteelement.htm scriptwriterwritemultisprite.htm scriptwriterwritemultispritefamily.htm tutorial1.htm tutorial2.htm tutorial3.htm tutorial4.htm tutorial5.htm tutorial6.htm tutorial7.htm tutorial8.htm updateinfo.htm windowmanager.htm windowmanagerbitmap.htm windowmenuelement.htm scriptwriterwritebehavior.htm scriptwriterwritespriteandbehaviorcode.htm scriptwriterwritespritecode.htm tutorial9.htm tutorial10.htm dynamismmiscellaneous.htm ");s1[2]=new Array("updateinfo.htm","Windows for Shockwave: Update Information","Information on what has been changed in successive versions of WFS 4.","Update Information Version WFS40p5 (affects Professional version) --12/12/03 insert handler dynamic behavior. goodness. special behaviors dynamic. wfsDestroyDynamicSprite properties. discussion DirGames sprite creation useful. properties: sprite(elementSpriteNum).member sprite(elementSpriteNum).rect sprite(elementSpriteNum).scriptInstanceList sprite(elementSpriteNum).stretch sprite(elementSpriteNum).rotation sprite(elementSpriteNum).color paletteIndex( sprite(elementSpriteNum).forecolor sprite(elementSpriteNum).backcolor sprite(elementSpriteNum).visible wfsAttachBehavior handler. Thanks Robert Brennan wfsCreateBehavior wfsCreateBehaviorPrivate. attach sprites, wfsAttachBehavior. deluxe. wfsCreateBehaviorPrivate privately &quot;Script Writer&quot; handlers. DirgGames learning issues concerning creation. section &quot;Dynamism&quot; document WFS40p6 --22/12/03 wfsWriteMultiSpriteFamily supposed capable letting multi-sprite ancestors descendants. functioning properly ancestors. problem private wfsWriteWindowManagerProperties wfsWriteMenuManagerProperties handlers script. wfsAttachBehaviorPrivate, working attached behavior contained documented, wfsCreateElement script, specify, doNotCreateNewMember parameter memberParams parameter. feature: wfsCreateWindowManager wfsCreateMenuManager script specify perforce, create manager bitmap. WFS45p1 Standard --14/4/04 later, upgrade. Director upgrade earlier project project, Previous Versions instructions. compatible addresses issues: introduced occassionally checks member member(&quot;whatever&quot;).memberNum evaluated present. However, Thomas Higgins's remarks wfsMemberExists &quot;1: PrepareMovie&quot; existence members. arises authoring later. projector problems again, authored scripts: PrepareMovie Dynamism Writer Handle Element Migration: introduces makeScriptedSprite removeScriptedSprite commands. replace method (puppetSprite). Higgins Macromedia commands question introduction creation/destruction officially supported Macromedia. matter. subject &quot;new command 2004&quot;. upshot puppetSprite implementation, before. talking makeScriptedSprite/removeScriptedSprite beginning process culminate support subtle differences. created interests keeping current. Actually, you're greater, wfsCreateSprite, 'Dynamism' greater. wfsCreateMenuItemHighlight WFS48p1 affects version, scripts. includes boolean CenterWindow (third parameter). called wfsCreateWindowManager, parameters window initialiy centered dynamically. Previously, dynamically, cases, beginSprite Attacher wfsAttachCloseMyWindow upgraded wfsAttachBehavior, wfsAttachBehaviorPrivate. wfsAttachBehaviorPrivate obsolete script). routines generate compact understand. purposes, easier. revamped copies static sprites. WFS48p3 WFS48s3 (20/05/04) versions. feature. elements &quot;4: Window/Menu Element&quot; operations involving names, documented &quot; feature refering sprites involves Highlight public existing projects, folder installation. temporary scripts Library Palette. Edit&gt;Copy member. Edit&gt;Paste version. Delete initialize properly, select Property Inspector Dialog wfsGenerateManagerName caused instantiated manager, cases. running handlers, documentation corrections. ");s1[3]=new Array("purchase.htm","Windows for Shockwave: Purchase","This is where you purchase Windows for Shockwave.","Windows_For_Shockwave Purchase Pricing Professional $199.95 (USD). Standard $124.95 version &quot; Script Writer&quot; Dynamism&quot; scripts. create/destroy dynamic multi-sprites, families thereof, elements. purchased emailed one-time, unique coupon process discount. upgrade $99.95 clicking graphic, selection (Standard Professional) credit download Windows Shockwave immediately purchasing jim@vispo.com experience problems. Package WFS48x.zip contains: Windows48x.cst. instance, Windows48p1.cst public version. Windows48s1 online documentation zipped (freely tutorials separately). WFS48x.DIR develop feature referenced documentation. 'samples' folder files. discussion technical support. You'll browse archive. license agreement freely distribute projectors source giving people. details. upgrades Consult homepage recent number. Installation WFS48x.zip. create folder. 'Program Files/Macromedia/Director/Libs' Director Library Palette Windows. shortcut desktop index.htm, backup purposes. Previous Versions upgrading projects ");s1[4]=new Array("dynamism.htm","Windows for Shockwave: 'Dynamism' Movie Script","You need a copy of this in a cast if you create dynamic sprites. Read documentation.","Document &quot;Dynamism&quot; Script Dynamic Channel Manager Limitations Sprites Sprite Creation Public Handlers &quot;Script Writer&quot; Dynamism project create number channels section where/how/why sprites, Destructors. documentation easiest, powerful multi-sprites, elements, families multi-sprites. &quot;Dynamism&quot;, however. primary involve destructors, documented garbage collection movie, destroy elements multi-sprites wfsDestroyDynamicSprite (destroys individual sprite) wfsDestroyDynamicElements multi-sprite) wfsDestroyMultiSprite entire wfsDestroyMultiSpriteFamily family multi-sprites) sprites? Manager. created puppeting makeScriptedSprite, later), giving member (either creating existing attaching initializing behaviors you've channels, puppeted channels. words, encounter problems static particular, movie. sprite, instantiated frames solves problem creation/destruction partitions blocks. sprites. bottom (higher-numbered) manages creation. Editing gWFSLastStaticSpriteChannel blocks (static dynamic)? wfsInitializeDynamism handler script. below. recommended comments. --FUNCTION:***************************************************************************** --wfsInitializeDynamism called &quot;1: prepareMovie&quot; prepareMovie 'Dynamism' initializes engine managing --IMPORTANT NOTE********************************************************************* *must* gWFSLastStaticSpriteChannel, --highest-numbered Score. higher developing adding --sprites Score, conveniently --value lastChannel') --develop. finished, highest-numbered (static) --have higher-numbered --dynamic --creation gWFSLastStaticSpriteChannel) default, --gWFSLastStaticSpriteChannel=the lastChannel. default splits vertical, disjoint parts: --(lower-numbered channels) (higher-numbered channels). --Why? Director --there --Note change Property Inspector. lastChannel   --EDIT gWFSNumberOfDynamicallyAllocatableChannels=the lastChannel wfsCreateDynamicChannelManager() gWFSCreatedMembers=[] gWFSCreatedMembers.sort() gWFSLastStaticSpriteChannel. because, lastChannel, assumes static. looked above, permits maximum simultaneously exceed generally reasons, absolute movie? graphic gWFSLastStaticSpriteChannel+1 allocated created, checks channel. allocates lowest-numbered instance, gWFSLastStaticSpriteChannel+1, presuming edited allocate above). important understand. debugging purposes, thing. algorithms things 'spritenum assume contiguous concerning multi-sprite (using script) destroyed generate longer They'll perhaps, sorted queue). remains invariant, order. multi-sprite, element version multi-sprite. spritenum pWFSElementList[5] (unless delete elements), pWFSElementList maintained wfsGetElementList returns duplicate pWFSElementList, multi-sprite's spritenums elements. wfsGetUnusedChannel private obtain sprite. shouldn't understand allocation works. available. dynamically destructor wfsReturnChannel(theChannel) destroyed. reused. beginSprite. wfsAddElementToManager thereafter, instantiated, element's beginSprite initial channel, creates destroys operates differently assigned finding wfsAddElementToManager. Notice wfsWriteElement, output requires properties feedback, shortened. wfsCreateSprite handler, parameters these: [memberNameOrNumber, castNameOrNumber, blend, width, height, doNotCreateNewMember]. please. course, thoroughly, exhaustively buttons circled Inspector, properties. button editable otherwise. attach behavior instead, 'editable' property. sprite(whichsprite).editable=1 editable, setting non-editable &quot;Drag Element&quot; behavior, moveable. constrain movement configurable sprite(whichsprite).trails=1 trails. sprite(whichsprite).flipV=1 clicking vertical' above. sprite(whichsprite).flipH=1 horizontal' sprite(whichsprite).rotation=90 specifying degrees rotation sprite(whichsprite).skew=5 percent there's equivalent command picked routines you'll attached copies perfectly. improvements warranted feedback improving updated makeScriptedSprite/removeScriptedSprite. discusses puppetSprite unsupported Macromedia, Director. hasn't people change. puppet occur. Rasmus Keldorff Robert confirmed sprites). &quot;There believe mentioned types. 'talk' minted vector, QuickTime animgifs similar problems), playhead re-arrives assigns proper sprite(1).member member(&quot;flashmovie&quot;) sprite(1).gotoframe(10) 'know' problem: updatestage redraw recently information.&quot; design waiting later. Kodicek persistent workaround: Rasmus: &quot;One haven't color. .color .bgcolor problems, difficult forget assignment. sprite(channel).forecolor sprite(channel).backcolor worked chased direct-l, remember) 'reset' overwrite modify consider values. tricky 'colorizes' bitmap, 'zero-color', 'void-color'.&quot; encountered problem, there. DESTRUCTORS wfsDestroyMemberCopy function suggest. and/or returned reused CONSTRUCTORS wfsCreateMemberCopy wfsCreateWindowManager wfsCreateMenuManager wfsCreateElement Writer handlers, constructors.The generated handlers. ATTACHERS wfsAttachBehavior wfsAttachMenuVerb wfsAttachCloseMyWindow wfsAttachCloseAWindow wfsAttachHandle wfsAttachDragElement wfsAttachOpenAWindow wfsAttachCursorControl wfsAttachRollover general, initialize attacher behaviors. getPropertyDescriptionList handler). DETACHERS wfsRemoveScriptAndRunEndSprite wfsScriptIsAttached wfsGetScriptNameList Attachers, remove behavior. wfsGetNumberOfDynamicChannelsInUse wfsGetDynamicChannelsInUse wfsGetNumberOfDynamicAvailableChannels wfsGetDynamicAvailableChannels wfsGetLastStaticSpriteChannel return information current discussion ");s1[5]=new Array("prepareMovie.htm","Windows for Shockwave: '1: prepareMovie' Movie Script","You need a copy of this in your cast for any WFS project. Inititializes WFS globals, parent scripts, and contains an API.","Document &quot;1: prepareMovie&quot; Script gWFSMultiSpriteList Public Handlers &quot;3: Window Manager&quot; behavior &quot;Menu prepareMovie project message requesting Library Palette Score. Director, scripts behaviors. typically prepareMovie' handler executes begins, initialize global variables that's initializes creates parent objects. stopMovie handler. extensive programmers. you're programmer, ignore things. &quot;Dynamism&quot; dynamic sprites, wfsCleanupDynamicChannels, script, garbage collection destroys sprites. gWFSHandle variable, &quot;6: Handle&quot; behavior, gWFSDragElement &quot; Element&quot; behavior. globals &quot;gWFS&quot;. &quot;wfs&quot;. properties &quot;pWFS&quot;. follow simple naming rules, name-space conflicts Programmers) variable gWFSMultiSpriteList. entries windows menus. sorted property (sorted spritenum). instantiated instance, Manager 'window1' sprite gWFSMultiSpriteList=[38:&quot;window1&quot;]. 'window2' gWFSMultiSpriteList=[38:&quot;window1&quot;, 58:&quot;window2&quot;] Managers beginSprite' delete endSprite' Managers. Actually, wfsAddManagerToMultiSpriteList script. gWFSMultiSpriteList, uniquely developer. simultaneously, simultaneously straighten please. wfsManagerIsInstantiated wfsGetNumberOfInstantiatedManagers wfsGetManagerSpriteNum wfsGetManagerName wfsGetSpritenumOfManagerAtThisIndex wfsGetNameOfManagerAtThisIndex wfsDeleteManagerFromMultiSpriteList gWFSHighestLocZ gWFSOpenMultiSpriteList wfsGetHighestLocZ wfsIncrementHighestLocZ wfsIncrementAndGetHighestLocZ wfsBoostHighestLocZ wfsGetOpenMultiSpriteList wfsGetFocusManager wfsAddToOpenMultiSpriteList wfsDeleteFromOpenMultiSpriteList wfsGetZOrdinal wfsGetNumberOfOpenMultiSprites wfsGetManagerOfZOrdinal wfsGetLocZOfZOrdinal DETERMINING INTERSECTION CONTAINMENT wfsSpriteIsWithin wfsSpriteIntersects ANCESTORS/DESCENDANTS wfsIsADescendant wfsGetTheRootSpriteNum ELEMENT SEARCH wfsGetElementNamed &quot;4: Window/Menu accessing directly. checking. menus, checking unneccessary. developing behaviors people movies. (theManager) theManager integer string; integer, spritenum manager; string, manager. returns instantiated, instantiated. checks widely return parameter string. changed boolean. theIntegerResult wfsManagerIsInstantiated(theManager) number elements wfsGetNumberOfInstantiatedManagers() (theName) theName wfsGetManagerSpriteNum(theName). (theSpriteNum) specified theSpriteNum multi-sprite. multi-sprite theStringOr0Result wfsGetManagerName(theSpriteNum) (theIndex) theIndex=3, (which general, theIndex=n, theIndex correspond wfsGetSpritenumOfManagerAtThisIndex(theIndex) string (&quot;&quot;)if theStringResult=wfsGetNameOfManagerAtThisIndex(theIndex) (theManagerName, theManagerSpriteNum) theManagerName theManagerSpriteNum integer. successfully discovered reason alerts trying change uniquely. called shouldn't therefore. private. strange. dialog problems. theBooleanResult wfsAddManagerToMultiSpriteList(theManagerName, (theManagerName) deletes Manger deleted successfully, wasn't however, result. wfsDeleteManagerFromMultiSpriteList(theManagerName) indicating highest element. wfsGetHighestLocZ() increments gWFSLocZIncrement, constant defined prepareMovie. opened, brought front. incremented 25,000 individual assigned multi-sprites. wfsIncrementHighestLocZ() gWFSLocZIncrement value. opened theIntegerResult=wfsIncrementAndGetHighestLocZ() 25000. window, recently window. maxInteger=2147483647. values getting precariously opening 86,000 times), automatically reopened order), readjusts values. wfsBringWindowToFront continuously, overflow space. wfsBoostHighestLocZ() duplicate gWFSOpenMultiSpriteList. Changing topmost. Suppose number. managed locZ=345. locZ=100. gWFSOpenMultiSpriteList=[100:12, 345:5], order. theListResult=wfsGetOpenMultiSpriteList() focus, topmost visible) wfsGetHighestLocZ, maximal elements. theResult wfsGetFocusManager() (managerSpriteNum) managerSpriteNum gWFSOpenMultiSpriteList, operation successful, failed. wfsAddToOpenMultiSpriteList(managerSpriteNum) successful. wfsDeleteFromOpenMultiSpriteList(managerSpriteNum) position wfsGetZOrdinal(managerSpriteNum) wfsGetNumberOfOpenMultiSprites() (theZOrdinal) Presupposes positive theZOrdinal. theZOrdinal wfsGetManagerOfZOrdinal(theZOrdinal) wfsGetLocZOfZOrdinal(theZOrdinal) working handlers. source names. within. theSpriteNum=8 wfsSpriteIsWithin(8) Consequently, wfsSpriteIsWithin(8).getLast() checked second background theListResult wfsSpriteIsWithin(theSpriteNum) intersects. intersects wfsSpriteIntersects(theSpriteNum) (theManager, theDescendantManager) theDescendantManager descendant theManager. manager's spritenum. theDescendantManager. itself. parameters, raised returned. descentdant theManager, descends wfsIsADescendant(theManager, raises wfsGetTheRootSpriteNum(theManager) (theName, returnList, theDomain) FUNCTION Searches theDomain multi-sprites theName. confuse searched Director ability sprites channels. independent features. sprite, channel assignable unique constraint concerning repeats PARAMETERS theName: element(s) returnList: unspecified occurence returnList occurrences theDomain: domain theDomain=1, theDomain=2, encountered found, lowest-numbered linear spritenums encountered, EXAMPLES elements, 101,102,103 &quot;bobo&quot; &quot;bobo&quot;). Suppose, finally, visible). theResult=wfsGetElementNamed(&quot;bobo&quot;) unspecified, defaults returning &quot;bobo&quot;. setting calling wfsGetElementNamed(&quot;bobo&quot;, theResult=wfsGetElementNamed(&quot;bobo&quot;, words, returnList=0, occurrence searched. theDomain=2 searched, necessarily same-named relevant names: wfsGetElementName wfsSetElementName. ");s1[6]=new Array("dragelementb.htm","Windows for Shockwave: 'Drag Element b' parent script","Put this parent script in a cast if you use the 'Drag Element' behavior.","&quot;Drag Element&quot; behavior &quot;6: Handle&quot; Handle Element b&quot; parent script Deeper object creation automatic conjunction behavior. behavior, dropping remind Deeper: scripts edited versions &quot; multi-sprite around, element. 'enterFrame' handler. eliminates handler Instead, mousedown, notifies &quot;6b: (named gWFSHandle, global variable) active. stepFrame processes active handles. attach behaviors sprites degrade performance, executed, executes, instances dragging around. identical you're element, multi-sprite. instance handlers background computation. worries eating cycles needlessly. prepareMovie &quot;1: prepareMovie&quot; script, wfsMemberExists(member(&quot;Drag b&quot;)) gWFSDragElement=new(script b&quot;) actorList, gWFSDragElement words, creates global) actorList receives messenges. reminds beginSprite ");s1[7]=new Array("dragelement.htm","Windows for Shockwave: 'Drag Element' Behavior","Makes a sprite draggable and can constrain movement.","Document &quot;Drag Element&quot; Behavior Public Handler Element b&quot; parent script &quot;Cursor Control&quot; &quot;6: Handle&quot; attach Parameter Dialog multi-sprite draggable. Window Element, mouses &quot; remind script. configure constrained movement rectangle position background sprite convention, Manager Score. draggable, Drop&quot; cursor interface design. display Score, window, right-click behavior, select &quot;Find Score&quot;. Elements Managers). &quot;4: Window/Menu attached concerning checked, brought mousedown. front. depends configuration Manager's graphic mouseDown.. second unchecked, you'll constraints. motion margins define boxes. relative you've dropped Positive values parameters margin settings. Negative constraints constraining window's border. graphic, effect. dragged pixels draggable higher border, expand wfsSetDragConstraints BringElementToFrontWhenDragging, constrainToWindow, theLeft, theTop, theRight, theBottom Function change unless, instantiated, configured. BringElementToFrontWhenDragging: boolean determines (TRUE) (FALSE).. constrainToWindow: unconstrained (FALSE). theLeft: integer. relevant specified constrainToWindow theLeft border constraint theTop: theTop vertical movement. theRight: theBottom: examples, suppose sprite(7).wfsSetDragConstraints(TRUE, 0,0,0,0) constrains moving defined sprite(7).wfsSetDragConstraints(FALSE, draggability. sprite(7).wfsSetConstraints(TRUE, 10,10,10,10) -10,-10,-10,-10) perimeter ");s1[8]=new Array("windowmanagerbitmap.htm","Windows for Shockwave: '2: Window Manager' Bitmap","Every WFS window has a Window Manager. The '2: Window Manager' bitmap is the member of the Window Manager sprite.","Document &quot;2: Window Manager&quot; Bitmap &quot;3: behavior &quot;4: Window/Menu Element&quot; &quot;Menu Manager bitmap&quot; Position attach member bitmap. behavior. conjunction create Managers. Manager. consists instance attached matter frames important Manager, topmost sprite sprites window. 'isOKToAttach' handler attaching impossible. together. Stage. Regardless stage, starts, non-modal window, positions outlined below. Property Inspector Score, Windows Special bitmap, prompted configure slider 0-100. &quot;0=non-modal 100=modal window&quot; Setting access windows. closed 'File&gt;Save dialog typically encounter applications: proceed. typical implementation Edit&gt;Find above-mentioned pWFSInitialVisibility visible, entire screen resized screen), elements Director &quot;blend&quot; value. accomplishes dimming background concerning Director, handlers, active. invisible, handlers events. mentioned above, offstage starts. course movie. on-stage behavior, scenes. ");s1[9]=new Array("windowmanager.htm","Windows for Shockwave: '3: Window Manager' Behavior","Every WFS window has a Window Manager. This behavior is crucial to creating windows in WFS.","Document &quot;Window Manager&quot; Behavior Parameter Dialog Public Handlers Programmers) &quot;2: Window bitmap &quot;4: Window/Menu Element&quot; Manager attach Position Managers windows together. individual sprites. window, dragging single entity. collection sprites around. scenes configured). parent Manager. &quot;3: crucial creation multi-sprite objects consists instance attached bitmap. sprite member bitmap, opens. graphic documentation parameter. triangle graphic. things configure concerning Manager: uniquely. multi-sprites unique entire movie. consist string symbols exception: &quot;+&quot; names. special dynamic names, automatically generated ensure uniqueness regardless copies spriteNum global gWFSMultiSpriteList instantiated menus. delete endSprite, prompts rename conflict multi-sprite. follows. Suppose separate Score. &quot;1.1&quot;. second &quot;1.2&quot;. &quot;2.1&quot;. they're uniquely created important behaviors sprites, &quot;7: Window&quot; behavior, forget Instructions change parameters Manager, sprite; select &quot;Cast Properties&quot;; &quot;Behavior&quot; &quot;Menu Manager&quot;) behavior; button circled above. Alternatively, scroll diplayed bottom Property Inspector. Programmers: wfsGetManagerName return wfsGetManagerSpritenum spritenum, wfsManagerIsInstantiated, instantiated. visible initially. playback enters elements execute beginSprite' handlers. Typically, existence. selection Center window. checked, centered beginSprite. Otherwise, appears authoring. 0=non-modal 100=modal windows, typical &quot;Save As...&quot; programs times, access program slider diagram value, create functions dimmed percentage value. non-noticeable dimming invisible closed. difference regular Shockwave: non-modal slightly dimmed. buttons applications. Shockwave support controls boxes, aren't yourself. Projectors however, sophisticated clicked. brought playing checked. children front. front, parents. instance, arise, unchecked, window's (leave parent). parent. parent-child relationships concerned disappear children, close. family behave visually paragraph. Static windows. reason parents Manager's maintained higher parent, action, moves. checked dragged, enables multiple 'family' versa. Sorry. effect, however. frequently question window?' answer discussing. basically joining objects. configured isn't, closed, closes OPENING, CLOSING, wfsOpenWindow wfsBringWindowToFront wfsCloseWindow wfsRestoreWindowLocZ MOVING MENUS, FAMILIES, ALIGNMENT wfsCenterMultiSprite wfsMoveFamilyBy wfsMoveFamilyTo wfsMoveMultiSpriteTo wfsMoveMultiSpriteBy wfsCenterElementLocH wfsCenterElementLocV wfsPositionElementLocVRelative wfsPositionElementLocVAbsolute OPERATIONS wfsGetParentName wfsGetParentSpriteNum wfsSetChild wfsDeleteChild wfsSetParent wfsGetNumberOfChildren wfsGetChildList wfsSetMoveWithParent MISCELLANEOUS wfsGetElementList wfsGetElementNamed wfsGetIAmVisible wfsGetWindowRect wfsGetBackgroundSpritenum section programmers permit closing changing developers families setting Managers. powerful notion actually combine larger working involving handlers, source script Director, search handler. integer managerSpriteNum brings handler called below. advantage instantiated, result. notable) sprite(x).whatever() sendSprite(x, #whatever). sprite(managerSpriteNum).wfsOpenWindow() sendSprite(managerSpriteNum, #wfsOpenWindow) (doNotBringChildrenToFront) opened. Element configured, &quot;6: Handle&quot; handler, default, front--in current doNotBringChildrenToFront specified positive doNotBringChildrenToFront, sprite(managerSpriteNum).wfsBringWindowToFront() #wfsBringWindowToFront) sprite(managerSpriteNum).wfsBringWindowToFront(0) #wfsBringWindowToFront, front,but sprite(managerSpriteNum).wfsBringWindowToFront(1) backward compatibility. Version introduced children. happen, feature. referenced descendents children). restores original values invisible. Window' behavior. sprite(managerSpriteNum).wfsCloseWindow() #wfsCloseWindow) sprite(managerSpriteNum).wfsRestoreWindowLocZ() #wfsRestoreWindowLocZ) feature Director stage, descendant parents) accordingly, necessarily centering relative preserved. calculates aggragate possibly locations? arbitrary: defines (horizontal) (vertical) manager). leftmost since, convention, generally point. moved. sprite(managerSpriteNum).wfsCenterMultiSprite() #wfsCenterMultiSprite) (deltaPoint) deltaPoint descendent deltaPoint.locH pixels horizontally deltaPoint.locV vertically. negative integers recursive; descendants, sprite(managerSpriteNum).wfsMoveFamilyBy(deltaPoint) #wfsMoveFamilyBy, deltaPoint) (absolutePoint) absolutePoint sprite(managerSpriteNum).wfsMoveFamilyTo(absolutePoint) #wfsMoveFamilyTo, absolutePoint) absolutePoint. sprite(managerSpriteNum).wfsMoveMultiSpriteTo(absolutePoint) #wfsMoveMultiSpriteTo, sprite. sprite(managerSpriteNum).wfsMoveMultiSpriteby(deltaPoint) #wfsMoveMultiSpriteby, (elementSpriteNum) elementSpriteNum indicating horizontally. checks regpoint centers background, assumed (after window). sprite(managerSpriteNum).wfsCenterElementLocH(elementSpriteNum) #wfsCenterElementLocH, elementSpriteNum) vertically sprite(managerSpriteNum).wfsCenterElementLocV(elementSpriteNum) #wfsCenterElementLocV, (elementSpritenum, theLocV) positions WindowElementSpritenum theLocv sprite(managerSpriteNum).wfsPositionElementLocVRelative(elementSpritenum, #wfsPositionElementLocVRelative, elementSpritenum, theLocV. sprite(managerSpriteNum).wfsPositionElementLocVAbsolute(elementSpritenum, #wfsPositionElementLocVAbsolute, returns &quot;&quot; theName=sprite(managerSpriteNum).wfsGetParentName() theName=sendSprite(managerSpriteNum, #wfsGetParentName) theName=sprite(managerSpriteNum).wfsGetParentSpriteNum() #wfsGetParentSpriteNum) (theChild, moveChildWhenIMove) Calling theResult= sprite(parentSpriteNum).wfsSetChild(theChild, theChild parentSpriteNum. words, people, string. string, denotes integer, moveChildWhenIMove boolean. FALSE, (TRUE) operation successful, (FALSE) successful cancelled. identical parent) &lt;=0 parentManagerSpritenum equivalent wfsSetParent, reversed. omitted clarify &quot;I&quot; 'moveChildWhenIMove' refers allowed ancestors. grandparent infinite multi-sprites. illustrates handles situation. sprite(G).wfsSetChild(B) handled. result changed expect) longer relation severed, granddaddy. points clearer. child's parent's child, wfsSetParent. theResult=sprite(parentManagerSpriteNum).wfsSetChild(theChild, moveTheChildWhenIMove) theResult=sendSprite(parentManagerSpriteNum, #wfsSetChild, theChild, (theChild deletes below), integer. child. adjusts theResult=sprite(parentManagerSpriteNum).wfsDeleteChild(theChild) #wfsDeleteChild, theChild) (theParent, moveWhenParentMoves) sprite(childSpriteNum).wfsSetParent(theParent, theParent managed childSpriteNum. proposed menu's theParent=&quot;&quot; theParent=0. wfsDeleteChild. MoveWhenParentMoves boolean dragged wfsSetChild, different. that's making (above) wfsSetChild. detailed particular, diagrams. spritenum=managerSpritenum theParent. theResult=sprite(managerSpriteNum).wfsSetParent(theParent, theResult=sendSprite(managerSpriteNum, #wfsSetParent, theParent, number managerSpriteNum. theReturnValue=sprite(managerSpriteNum).wfsGetNumberOfChildren() linear spritenums duplicate pWFSChildList, status multi-sprite's theList=sprite(managerSpriteNum).wfsGetChildList() (theBoolean) theBoolean acquire wfsSetMoveWithParent(1) otherwise. theReturnValue=sprite(managerSpriteNum).wfsSetMoveWithParent(theBoolean) multi-sprite, shouldn't theList=sprite(managerSpriteNum).wfsGetElementList() (theName, returnList) FUNCTION theName (within multi-sprite). returnList=VOID specified), occurrence theName. returnList&lt;&gt;VOID, occurrences elements, context channels. looked features problems: recording session (which screws sprites), thought implement flexible useful. naming system completely independent channel system. &quot;bobo&quot;, &quot;bobo&quot;. sprite, element, constraint elements. repeats unspecified), theName, returnList &lt;&gt; empyty theName: denoting returnList: optional unspecified, EXAMPLES theReturnValue=sprite(5).wfsGetElementNamed(&quot;bobo&quot;) theReturnValue=sendSprite(5, #wfsGetElementNamed, &quot;bobo&quot;) theReturnValue=sprite(5).wfsGetElementNamed(&quot;bobo&quot;, below, &quot;bobo&quot; &quot;Alice&quot;. AliceSpritenum=wfsGetManagerSpritenum(&quot;Alice&quot;) --wfsGetManagerSpritenum &quot;1: prepareMovie&quot; boboSpritenum=sendSprite(AliceSpriteNum, relevant names: wfsGetElementName wfsSetElementName. wfsGetElementNamed. ways). searches theReturnValue=sprite(managerSpriteNum).wfsGetIAmVisible() background pWFSElementList entry, returned. theReturnValue=sprite(managerSpriteNum).wfsGetWindowRect() defined pWFSElementList[2]. theReturnValue=sprite(managerSpriteNum).wfsGetBackroundSpriteNum() Opening perform &quot;5: &quot;wfsDoMeNow&quot; wfsCloseWindow. wfsDoMeNow --This --&quot;4: debugging purposes, doesn't. --then element's a=string(sprite(spritenum).scriptinstancelist) b=offset(&quot;4: Element&quot;, alert(&quot;Sprite &quot; string(spritenum) Element' it.&quot;) --Else --attached stores pWFSManagerSpriteNum. myWindowManager=sprite(spritenum).pWFSManagerSpriteNum wfsManagerIsInstantiated(myWindowManager) closable. sendSprite (myWindowManager, trying window  sprite&quot; string(myWindowManager) string(the frame)) implies, pWFSManagerName. retrieves instantiated? wfsCloseWindow, executes stored script, retrieve accomplished exactly thing: sprite(myWindowManager).wfsCloseWindow() above, example, wfsOpenWindow. opened supposed theWindowManagerSpritenum=wfsManagerIsInstantiated(pWFSNameOfManagerToOpen) theWindowManagerSpritenum alert(&quot;The uninstantiated correct this.&quot;) pWFSOpeningLocation &quot;Do it.&quot;:         &quot;Center (theWindowManagerSpritenum, &quot;Open is.&quot;: mouseLoc) absolute location.&quot;: point(pWFSAbsoluteLocH, pWFSAbsoluteLocV)) otherwise: alert(&quot;Use Inspector specify parameter.&quot;) mousedown dropped pWFSNameOfManagerToOpen property. itself, wfsManagerIsInstantiated script. subsequently, worked sprite(theWindowManagerSpritenum).wfsOpenWindow() decides gWFSMultiSpriteList, variable Managers' ");s1[10]=new Array("windowmenuelement.htm","Windows for Shockwave: '4: Window/Menu Element' Behavior","Every element of a WFS multi-sprite is an element by virtue of having the '4: Window/Menu Element' behavior attached to it. Crucial to creating elements.","Document &quot;4: Window/Menu Element&quot; Behavior Parameter Dialog Public Handlers Element attach Vertical Placement Horizontal Programmers sprites elements windows menus. Static Score) figure sprite Manager beginSprite message saying yours, elements'. attached (pWFSManagerName) spriteNum (pWFSManagerSpriteNum) Manager. Score, delete Dynamic (elements created puppeting channels routines closest Score; that's Managers aren't necessarily position, Window Element. window. Managers. sprite, thinks higher itself. angle, multiple and/or concerning elements, simpler: simply created. instantiated. matter Score. generally starts manageable visually logically, typical rectangle below, contiguous. element, beginSprite, figures pElementList manage.' checks endSprite' handler) alive. alive, manage anymore. stretch rectangles occupy disjoint cycles Manager's existence. fairly esoteric, however. Usually, tutorial information topic. existence wfsAddElementToManager handler below), programmer dynamically. instantiated, However, existence, change manager, configure element: visible checked initially opened. example, drop-down window, property called pWFSInitialVisibility stores property. wfsGetInitialVisibility Window/Element&quot; Retrieves initial visibility boolean. wfsSetInitialVisibility invisible. affects invisible multi-sprite blank) multi-sprites. channels. looked features Director problems: recording session, channel names. thought implement version flexible useful. important naming system completely independent system. instance, &quot;bobo&quot;, &quot;bobo&quot;. &quot;3: Manager&quot; elements. unique instantiated constraint repeats default implementation, string. stored pWFSElementName behavior. properties initilaized getPropertyDescriptionList consists handlers: wfsGetElementName Returns specified wfsSetElementName (whether wfsGetElementNamed &quot;Menu behaviors integer linear spritenums Searches single multi-sprite. &quot;1: prepareMovie&quot; script ability referring capabilities usefulness regard, discussion wfsWriteElement wfsWriteElement. wfsGetMyManagerName wfsGetMyManagerSpriteNum wfsChangeRegPointToTopLeft called, search boolean indicating managerName=sprite(elementSpriteNum).wfsGetInitialVisibility() managerName=sendSprite(elementSpriteNum, #wfsGetInitialVisibility) (theBoolean) affect sprite(elementSpriteNum).wfsSetInitialVisibility(theBoolean) sendSprite(elementSpriteNum, #wfsSetInitialVisibility, theBoolean) (string) managerName=sprite(elementSpriteNum).wfsGetElementName() #wfsGetElementName) (theName) sprite(elementSpriteNum).wfsSetElementName(theName) #wfsSetElementName, theName) spritenum=elementSpriteNum. similar wfsGetManagerName prepareMovie&quot;. differently, getting information. difference &quot;Show 1&quot; managerName=sprite(elementSpriteNum).wfsGetMyManagerName() #wfsGetMyManagerName) (integer) spritenum=elementSpriteNum.There wfsGetManagerSpriteNum managerSpritenum=sprite(elementSpriteNum).wfsGetMyManagerSpriteNum() managerSpritenum=sendSprite(elementSpriteNum, #wfsGetMyManagerSpriteNum) (managerNameOrSpriteNum) exposition handler. managerNameOrSpriteNum. operation successful, unsuccessful cancelled. managerNameOrSpriteNum deletes updates words, managerNameOrSpriteNum=&quot;&quot; managerNameOrSpriteNum=0 following: unused basically deleted. elsewhere, menus, objects. booleanResult=sprite(elementSpriteNum).wfsAddElementToManager(managerNameOrSpriteNum) booleanResult=sendSprite(elementSpriteNum, #wfsAddElementToManager, managerNameOrSpriteNum) automatically executed background regPoint execute Shapes ToolBar. ToolBar backgrounds Instead, Vector Window&gt;Insert&gt;Vector Shape. sprite(elementSpriteNum).wfsChangeRegPointToTopLeft() #wfsChangeRegPointToTopLeft) ");s1[11]=new Array("closemywindow.htm","Windows for Shockwave: '5: Close My Window' Behavior","Turns a sprite into a control that closes the window the sprite is an element of.","Document &quot;5: Window&quot; Behavior Parameter Dialog &quot;Close Writing Handlers Window attach Closes implies, multi-sprite &quot; behavior. closes. closed; assumes convenient cases. places scenes windows. window, right-click behavior, select &quot;Find Score&quot;. Elements buttons multi-sprite. button close, Submenus automatically Verb&quot; Element, opens: closed mouseEnter, mouseDown, mouseUp, mouseLeave. mouseLeave option sprites target sprite, sprite circumstances. ");s1[12]=new Array("handle.htm","Windows for Shockwave: '6: Handle' Behavior","Makes an element be a handle to drag a multi-sprite around. You can constrain the multi-sprite movement, also.","Document &quot;6: Handle&quot; Behavior Public Handler &quot;6b: parent script &quot;Cursor Control&quot; Handle attach Parameter Dialog window draggable. Element Element, mouses remind script. attached children window, configured parent. windows Manager's automatically handle, &quot; Cursor configure &quot;Drag Drop&quot; sprite interface design. Elements Managers). &quot;4: Window/Menu Element&quot; multiple handles sprite). behavior, blank, constraints. multi-sprite, multi-sprite constrained movement rectangle define boxes. values relative background specify Positive margins. Negative broaden borders. special &quot;stage&quot; &quot;parent&quot; (without quotation marks). stage. Putting values, instance, constrain parent, wfsSetConstraints (constrainingWindow, theLeft, theTop, theRight, theBottom) Function change constraints Parameters constrainingWindow: string &quot;parent&quot;. Right, theBottom &quot;parent&quot;, constraints, constrainingWindow &quot;&quot;. theLeft: integer. relevant specified theLeft border constraining constraint window's border. theTop: theTop determines concerning vertical movement. theRight: theBottom: examples, suppose sprite(7).wfsSetConstraints(&quot;some window&quot;, 0,0,0,0) constrains moving defined &quot;some window&quot;. Recall convention, manager Score. sprite(7).wfsSetConstraints(&quot;stage&quot;, sprite(7).wfsSetConstraints(&quot;parent&quot;, unconstrained sprite(7).wfsSetConstraints(&quot;&quot;,1,2,3,4) effect 20,-30,40,-50) pixels stage; higher stage's right; bottom ");s1[13]=new Array("handleb.htm","Windows for Shockwave: '6b: Handle' parent script","You need this parent script in a cast if you use the '6: Handle' behavior.","&quot;6: Handle&quot; Behavior Handle &quot;6b: parent script Deeper object creation automatic conjunction behavior. behavior, dropping remind Deeper: 'enterFrame' handler. handler subsequently eliminated Instead, mousedown, notifies (named gWFSHandle, global variable) active. stepFrame processes active handles. attach behaviors sprites degrade performance, executed, executes, instances dragging multi-sprite around. computational overhead indeed. prepareMovie &quot;1: prepareMovie&quot; script, wfsMemberExists(member(&quot;6b: Handle&quot;)) gWFSHandle=new(script Handle&quot;) actorList, gWFSHandle words, creates actorList receives messenges. project working. reminds beginSprite Handle&quot;. ");s1[14]=new Array("openawindow.htm","Windows for Shockwave: '7: Open a Window'","Turns a sprite into a control that opens a window or the root of a menu.","Document &quot;7: Window&quot; Behavior Parameter Dialog &quot;Rollover&quot; Writing Handlers Window attach system. clicks sprite behavior, multi-sprite instantiated. instantiated, debug. submenu, sprite. multi-sprite. sprite, opens. documentation multi-sprite? defaults &quot;mouseUp&quot;, determines window. options mouseEnter mouseDown mouseUp mouseLeave rightMouseDown (Control+click &quot;rightMouseDown&quot; option. windows Macs), reserved opening pop-up (using &quot; Verb&quot; items), Shockwave supports creation. However, select uncheck Publish Settings Context checkbox. displayed piece, making (versus Projector). reason generally typically, applications employ menus, that's behave window, button closes Specify instantiated isn't, message opened &quot;Do it&quot; options: Center absolute location. option handle around. &quot;Center centers background reference Element Manager Score. &quot;Open is&quot; Score) location&quot; sliders location', horizontal location&quot;, Setting effect selected. slider opened. vertical ");s1[15]=new Array("closeawindow.htm","Windows for Shockwave: 'Close a Window' Behavior","'Close A Window' turns a sprite into a control that closes a window.","Document &quot;Close Window&quot; Behavior Parameter Dialog Public Handlers &quot;Menu Verb&quot; Writing Window attach sprite button prompted specify trigger closing multi-sprite close. instantiated, raised debugging purposes. element sprite, opens. multi-sprites descendants) closed mouseEnter, mouseDown, mouseUp, mouseLeave option sprites target circumstances. wfsGetWindowToClose wfsSetWindowToClose wfsGetCloseEvent wfsSetCloseEvent 'Close Window' (nameOrSpritenum) Returns spritenum supposed nameOrSpritenum specified, returned. &lt;&gt; returned instantiated). below, attached. windowToClose=sprite(x).wfsGetWindowToClose(nameOrSpritenum) windowToClose=sendSprite(x, #wfsGetWindowToClose, nameOrSpritenum) EXAMPLES windowToClose=sprite(x).wfsGetWindowToClose() windowToClose windowToClose=sprite(x).wfsGetWindowToClose(1) manager nameOrSpritenum. string, (instantiated integer, instantiated manager. sprite(x).wfsSetWindowToClose(nameOrSpritenum) sendSprite(x, #wfsSetWindowToClose, sprite(x).wfsSetWindowToClose(&quot;some window&quot;) &quot;some window&quot;. sprite(x).wfsGetWindowToClose(34) closes window. Range: &quot;mouseEnter&quot;, &quot;mouseDown&quot;, &quot;mouseUp&quot;, &quot;mouseLeave&quot; closeEvent=sprite(x).wfsGetCloseEvent() closeEvent=sendSprite(x, #wfsGetCloseEvent) (theEvent) theEvent: sprite(x).wfsSetCloseEvent(theEvent) #wfsSetCloseEvent, theEvent) ");s1[16]=new Array("cursorcontrol.htm","Windows for Shockwave: 'Cursor Control' Behavior","Attach this to sprites to make them change the cursor on the sprite's mouse events.","Document &quot;Cursor Control&quot; Behavior Parameter Dialog Writing Handlers Cursor Control attach sprite, configure displays events. system cursors Director. prompted concerning mouseEnter, mouseDown, mouseUp, mouseLeave, mouseUpOutside, select presets values (&quot;Clickable&quot; &quot;Drag Drop&quot;), events nature preset. widely scenes &quot;Clickable Drop&quot; functionality. display Score, window, right-click behavior, &quot;Find Score&quot;. covered multimedia production tutorial visible sprites change Window Elements; totally consistent Elements. Elements inconsistencies happens control. feature standards information explanation reasons slight inconsistencies. sprite. cursor. Macromedia graphics cursors. behave clickable simply &quot;OK&quot; default configuration sprite) &quot;Clickable&quot; labelled &quot;Choose typical setting below&quot; &quot;OK&quot;. sprite droppable, below&quot;. droppable. merely configures drawing tablet, below: ");s1[17]=new Array("rollover.htm","Windows for Shockwave: 'Rollover' Behavior","Turns a sprite into a control that opens a window on mouseEnter, closes it on mouseLeave.","Document &quot;Rollover&quot; Behavior Parameter Dialog Writing Handlers Rollover attach sprite sprite, enters window appears, mouseEnter opened instantiated) leaves disappears. prompted sprite. modal. mouseover triangle menu1&gt;menu1,2. improbable behavior: &quot;rollover1&quot; &quot;rollover2&quot; windows. element. mouseLeave. behaviors you've attached instance, change highlight consistent behavior. events: mouseLeave handler closes unconditionally. mouseDown --INSERT opens. specify ");s1[18]=new Array("menumanagerbitmap.htm","Windows for Shockwave: 'Menu Manager bitmap'","The manager of each menu must have this bitmap as its member.","Document &quot;Menu Manager bitmap&quot; Manager&quot; behavior &quot;4: Window/Menu Element&quot; Verb&quot; Position attach member bitmap. behavior. conjunction create Managers. Manager. consists instance attached matter frames important Manager, topmost sprite sprites (called Elements). bitmap&quot;. 'isOKToAttach' handler attaching impossible. together. Stage. Regardless stage, starts, non-root positions outlined below. Property Inspector Score, observe browser programs, Photoshop, processors, clicking system, select generally additionally, Windows). method, stretches covers screen submenus invisible nonetheless. bitmap&quot;, closes system completely depending configured. visible. prompted configure question &quot;If selects menu?&quot;. clicks submenus, closed entirely. submenu covered invisibly, things. ");s1[19]=new Array("menumanager.htm","Windows for Shockwave: 'Menu Manager' Behavior","Each menu must have a Menu Manager. Crucial in the creation of menus.","Document &quot;Menu Manager&quot; Behavior Illustrated Parameter Public Handlers Programmers) Manager bitmap&quot; &quot;4: Window/Menu Element&quot; Verb&quot; Differences windows attach resides/presides Elements window's Window Elements. Managers coordinate menus. Managers, reside elements, Score) ancestors. scenes &quot;3: scripts similar Manager. behave windows. behavioral difference submenu closes. Submenus applications 'close' buttons dialog boxes. closed making selection access selection, display View...). option. configure selection. subsequently &quot;7: Window&quot; sprite configured opened close. system visible, point, forks. conjunction support typical behavior. 'history' instructive. videos demonstrations brilliant famous innovations sixties seventies interface design, menus, additional keypad keyboard) functioned system. two-handed computing system, mouse). Contemporary keyboard shortcuts, torturous ctrl+alt+shift+clickness, forth, compare moment, however, design applications. easier approach. supported. thought support, addition consuming program, cycles monitoring activity. Director developers interactivity; didn't shortcuts bitmap&quot;. documentation concerning positioning relative 'isOKToAttach' handler requires attached illustrates sprites behaviors accomplished selecting &quot;Behavior&quot; graphic. positioned parent Score. parents. sprites. element Window/Element&quot; &quot; bitmap&quot;, opens. uniquely. multi-sprites unique entire movie. consist string symbols exception: &quot;+&quot; names. special dynamic multi-sprite names, automatically generated ensure uniqueness regardless copies spriteNum global gWFSMultiSpriteList instantiated. delete endSprite, prompts rename conflict multi-sprite. follows. Suppose consists separate &quot;1.1&quot;. second &quot;1.2&quot;. &quot;2.1&quot;. they're uniquely visible initially. instantiated invisible Generally, construct applications, generally &quot;File View...&quot;. system? Score, submenus. parent, parent. appears. maintain position moves. selects configuring effect, matters configuration checked, invisible. unchecked, others, don't. reopen dropping typically, blank. specify non-root descendents time-travel self-incest possible, create infinite closed, instance. prompt correct things accidentally sci-fi ancestries. OPENING, CLOSING, wfsOpenWindow wfsBringWindowToFront wfsCloseMenuSystem wfsRestoreWindowLocZ MOVING FAMILIES, ALIGNMENT wfsCenterMultiSprite wfsMoveFamilyBy wfsMoveFamilyTo wfsMoveMultiSpriteTo wfsMoveMultiSpriteBy wfsCenterElementLocH wfsCenterElementLocV wfsPositionElementLocVRelative wfsPositionElementLocVAbsolute PARENT-CHILD OPERATIONS wfsGetParentName wfsGetParentSpriteNum wfsSetChild wfsDeleteChild wfsSetParent wfsGetNumberOfChildren wfsGetChildList wfsSetMoveWithParent MISCELLANEOUS wfsGetElementList wfsGetElementNamed wfsGetIAmVisible wfsGetWindowRect wfsGetBackgroundSpritenum &quot;1: prepareMovie&quot; identical section programmers permit closing changing families setting relationships Managers. powerful handlers. notion actually objects. objects combine larger &quot;wfs&quot;. intrusions programming space. &quot;wfs&quot; you're guaranteed name-space intrusion. globals &quot;gWFS&quot;. properties &quot;pWFS&quot;. &quot;gWFS&quot; Manager's integer managerSpriteNum brings front. called important) same-named source modifying sprite(managerSpriteNum).wfsOpenWindow() sendSprite(managerSpriteNum, #wfsOpenWindow) opened. clicked. configured, &quot;6: Handle&quot; children front--in current window. positive doNotBringChildrenToFront, brought sprite(managerSpriteNum).wfsBringWindowToFront() #wfsBringWindowToFront) sprite(managerSpriteNum).wfsBringWindowToFront(1) #wfsBringWindowToFront, closed. wfsCloseWindow labelled &quot;If menu?&quot; checked wfsCloseMenuSystem, mentioned sprite(managerSpriteNum).wfsCloseMenuSystem() #wfsCloseMenuSystem) restores handler. sprite(managerSpriteNum).wfsRestoreWindowLocZ() #wfsRestoreWindowLocZ) referenced center stage, descendant parents) accordingly, necessarily centering centered preserved. calculates aggragate possibly locations? arbitrary: defines (horizontal) (vertical) values manager). leftmost since, convention, point. moved. sprite(managerSpriteNum).wfsCenterMultiSprite() #wfsCenterMultiSprite) (deltaPoint) deltaPoint descendent deltaPoint.locH pixels horizontally deltaPoint.locV vertically. negative integers recursive; descendants, children. sprite(managerSpriteNum).wfsMoveFamilyBy(deltaPoint) #wfsMoveFamilyBy, deltaPoint) (absolutePoint) absolutePoint sprite(managerSpriteNum).wfsMoveFamilyTo(absolutePoint) #wfsMoveFamilyTo, absolutePoint) specified absolutePoint. sprite(managerSpriteNum).wfsMoveMultiSpriteTo(absolutePoint) #wfsMoveMultiSpriteTo, sprite. sprite(managerSpriteNum).wfsMoveMultiSpriteby(deltaPoint) #wfsMoveMultiSpriteby, (elementSpriteNum) elementSpriteNum indicating horizontally. checks regpoint centers menu's background, assumed (after Manager, menu). sprite(managerSpriteNum).wfsCenterElementLocH(elementSpriteNum) #wfsCenterElementLocH, elementSpriteNum) vertically sprite(managerSpriteNum).wfsCenterElementLocV(elementSpriteNum) #wfsCenterElementLocV, (elementSpritenum, theLocV) positions theLocv (below Score). sprite(managerSpriteNum).wfsPositionElementLocVRelative(elementSpritenum, #wfsPositionElementLocVRelative, elementSpritenum, theLocV. sprite(managerSpriteNum).wfsPositionElementLocVAbsolute(elementSpritenum, #wfsPositionElementLocVAbsolute, returns &quot;&quot; sprite(managerSpriteNum).wfsGetParentName() #wfsGetParentName) sprite(managerSpriteNum).wfsGetParentSpriteNum() #wfsGetParentSpriteNum) (theChild, moveTheChildWhenIMove) Calling theResult= sprite(parentSpriteNum).wfsSetChild(theChild, moveChildWhenIMove) theChild parentSpriteNum. words, people, string. string, denotes integer, moveChildWhenIMove boolean. FALSE, (TRUE) operation successful, (FALSE) successful cancelled. parent) &lt;=0 parentManagerSpritenum parentManagerSpriteNum=0 intutive operation. diagram equivalent wfsSetParent, parameters reversed. omitted clarify &quot;I&quot; 'moveChildWhenIMove' refers allowed grandparent multi-sprites. handles situation. sprite(G).wfsSetChild(B) handled. result changed expect) longer relation severed, granddaddy. points clearer. child's parent's child, multiple wfsSetParent. theResult=sprite(parentManagerSpriteNum).wfsSetChild(theChild, theResult=sendSprite(parentManagerSpriteNum, #wfsSetChild, theChild, (theChild) deletes below), return integer. child. adjusts theResult=sprite(parentManagerSpriteNum).wfsDeleteChild(theChild) #wfsDeleteChild, theChild) (theParent, moveWhenParentMoves) sprite(childSpriteNum).wfsSetParent(theParent, theParent managed childSpriteNum. proposed theParent=&quot;&quot; theParent=0. wfsDeleteChild. MoveWhenParentMoves boolean dragged wfsSetChild, different. (above) wfsSetChild. detailed particular, diagrams. spritenum=managerSpriteNum theParent. theResult=sprite(managerSpriteNum).wfsSetParent(theParent, theResult=sendSprite(managerSpriteNum, #wfsSetParent, theParent, number theReturnValue=sprite(managerSpriteNum).wfsGetNumberOfChildren() linear spritenums duplicate pWFSChildList, property change status multi-sprite's theReturnValue=sprite(managerSpriteNum).wfsGetChildList() (theBoolean) theBoolean acquire wfsSetMoveWithParent(1) otherwise. theReturnValue=sprite(managerSpriteNum).wfsSetMoveWithParent(theBoolean) multi-sprite, shouldn't theReturnValue=sprite(managerSpriteNum).wfsGetElementList() (theName, returnList) FUNCTION theName. returnList=VOID specified), search occurrence returnList&lt;&gt;VOID, occurrences context unspecified), theName, returnList &lt;&gt; empyty theName: denoting returnList: optional parameter. unspecified, theName EXAMPLES &quot;bobo&quot;. theReturnValue=sprite(5).wfsGetElementNamed(&quot;bobo&quot;) theReturnValue=sendSprite(5, #wfsGetElementNamed, &quot;bobo&quot;) theReturnValue=sprite(5).wfsGetElementNamed(&quot;bobo&quot;, &quot;bobo&quot;, relevant names: wfsGetElementName wfsSetElementName. script wfsGetElementNamed. theReturnValue=sprite(managerSpriteNum).wfsGetIAmVisible() background element, theReturnValue=sprite(managerSpriteNum).wfsGetWindowRect() defined pWFSElementList[2]. pWFSElementList entry, returned. theReturnValue=sprite(managerSpriteNum).wfsGetBackroundSpriteNum() Opening behavior, perform &quot;openAMenu&quot; handler, below. openAMenu conditionally opened, wfsOpenAMenu --This --Verb spriteNumOfMenuToOpen=wfsGetManagerSpriteNum(pWFSNameOfMenuToOpen) --wfsGetManagerSpriteNum script. pWFSNameOfMenuToOpen. instantiated, attempting spriteNumOfMenuToOpen then      --Then manger pWFSMenuOpeningLocation         --pWFSMenuOpeningLocation --property --Menu &quot;Don't opened.&quot;: &quot;Do it.&quot;: sendSprite (spriteNumOfMenuToOpen, &quot;Center &quot;Open is.&quot;: mouseLoc) &quot;Absolute location.&quot;: point(pWFSMenuAbsoluteLocH, pWFSMenuAbsoluteLocV)) --pWFSMenuAbsoluteLocH pWFSMenuAbsoluteLocV --Parameter       --sprite. sliders adjust properties. otherwise: --become discombobulated. alert(&quot;Use Inspector parameter.&quot;) supposed alert(&quot;Sprite &amp;  pWFSNameOfMenuToOpen instantiated.&quot;) checking listed gWFSMultiSpriteList, &quot;case&quot; statement executes. examines pMenuOpeningLocation, depending moved, centered, ablsolute location, Below, mouseUp standard Lingo. documented heavily what's Actually, sprite(myManager).wfsCloseMenuSystem() Otherwise, closes figure --rest pWFSOpenAMenu=&quot;mouseUp&quot; --configured me.wfsOpenAMenu() pWFSCloseMenuOnMouseEvent &quot;mouseUp&quot; you've --system mouseUp, myManager=sprite(spritenum).pWFSManagerSpriteNum --pWFSManagerSpriteNum --Element&quot; wfsManagerIsInstantiated(myManager) --wfsManagerIsInstantiated --movie myManager --handler completely leaves mouseUp. string(spritenum) string(myManager)) ");s1[20]=new Array("menuverb.htm","Windows for Shockwave: 'Menu Verb' Behavior","Attach this to menu items to make them do something.","Document &quot;Menu Verb&quot; Behavior Parameter highlight&quot; vector Manager&quot; &quot;4: Window/Menu Element&quot; Writing Handlers attach configured window highlight mouseEnter system select Elements things. attached Elements. However, instance, invisible Element functions control &quot;7: Window&quot; preferable function. create pop-up rightMouseDown (Control+click Macs). Dialog &quot; sprite opens. documentation event? defaults &quot;no&quot;, determines opened, trigger opening options: mouseDown mouseUp mouseLeave &quot;no&quot; selected, opened. perform action 'Select 'Paste' operation require submenu highlighted and/or selects Element. performs mouseUp, &quot;3. event?&quot; option &quot;mouseUp&quot;. browser window. accomplishes wfsmenu.dir sample mouseDown, mouseLeave, options, opened event. &quot;mouseUp&quot;, &quot;rightMouseDown&quot; option. Macs), Windows Shockwave supports creation. uncheck Publish Settings Context checkbox. displayed piece, making (versus Projector). reason generally reserved (rather implementing windows) typically, applications employ menus, that's behave window, button closes specify follow standard interface expectations. tutorial details creating right-click menus. previous instantiated &quot;Don't opened&quot; Center Absolute location. drop-down coincide default &quot;1. event&quot; words, opened.&quot; &quot;Do it&quot; previously, indirectly parent moved. &quot;Center centers window's background reference Manager Score. &quot;Open is&quot; Score) rightMouseDown. Location sliders parent, question, position relative parent. Consequently, submenus 'Absolute location', horizontal &quot;Absolute location&quot;, labelled &quot;Specify opened&quot;, sliders. Setting effect location&quot; selected. slider vertical mouseEnter? mouses opposed Element). items. element, &quot;2. mouseEnter&quot; effect: feature vector&quot; behavior&quot; static channel Instantiate frames instantiated. shape. Regardless highlighted, matter Stage. required. offset checked &quot;Highlight number pixels Postive values Negative itself. mouseEnter?&quot;. (which shape) happens positioned &quot;background transparent&quot; &quot;below&quot; Otherwise, &quot;above&quot;, visible. selection closed triggers specific Normally, closes. enables functionality. system, prompted menu?&quot;. answered entire configure Manager, close. closed, disappear. didn't closes, selects. submenus. perverse perverse, convention available. closing desktop somehow, mouseUp. rightMouseDown, ");s1[21]=new Array("menuitemhivector.htm","Windows for Shockwave: 'Menu item highlight vector' Image","Important in making menu items highlightable.","Document &quot;Menu highlight vector&quot; Verb&quot; behavior highlight&quot; vector attach Position Changing tandem items. positioned configured highlighted behavior. regardless configure highlighted, Score. image. Instantiate frames instantiated. channel matter Stage. invisible mouses longer highlighted. Depending menus, change graphic Right-click sprite. Select &quot;Cast Member Properties&quot; pop-up Property Inspector opens. Inspector, above. square color. automatically adjusts properties image: visibility regPoint information, documentation ");s1[22]=new Array("menuitemhibehav.htm","Windows for Shockwave: Menu item highlight behavior","Important in making menu items highlightable.","Document &quot;Menu highlight&quot; vector Verb&quot; behavior attach tandem &quot; highlight vector&quot; items. action, mouseover concerning static Dynamic create sprite configure mouses positions depending configured behavior. attached instantiated Verb&quot;. regPoint logic. &quot;blend&quot; property, controls transparency vector, halfway invisible opaque &quot;background transparent&quot;. adjust settings script useful. likely change image. documentation ");s1[23]=new Array("arrowformenus.htm","Windows for Shockwave: Menu Arrow Vector Image","The 'Menu arrow vector image' is to indicate on menus that menu items are expandable.","Windows_For_Shockwave &quot;Menu arrow&quot; vector humble icons. image. submenu. decorative, functional. score, change &quot;background transparent&quot;. Position complements. attach &quot;4: Window/Menu Element&quot; behavior. ");s1[24]=new Array("scriptwriter.htm","Windows for Shockwave: 'Script Writer' Movie Script","This script is crucial to creating dynamic elements, multi-sprites, and families thereof. Read it.","wfsWriteMultiSprite wfsWriteMultiSpriteFamily wfsWriteElement &quot;Dynamism&quot; Script Writer &quot;Script Writer&quot; Overview Handlers easiest create dynamic elements multi-sprites families thereof. authoring creates configure parameters wfsCreateSprite wfsAttachBehavior. entities, looking generated instructive. Handler Writers: output handlers. writes creating multi-sprites. handlers, wfsWriteSpriteAndBehaviorCode sprite behavs. wfsWriteSpriteCode behaviors. wfsWriteBehaviorCode attach behavior dynamically. working examples process, 'Examples' section documentation public (wfsWriteMultiSprite) (wfsWriteMultiSpriteFamily) (wfsWriteElement)). scripts haven't already: &quot; prepareMovie&quot;: projects &quot;Dynamism&quot;: entities. Writer&quot;: entitites. gWFSLastStaticSpriteChannel 'initializeDynamism' script, already, instructions. determines channels allocatable creation. static element multi-sprite family earlier versions compose behaviors behaviors, navigate model's instantiated. Message Window, generate copies (respectively) composed Stage. words, elements/multi-sprites/families handler(s) Window script. concerning wfsWriteMultiSpriteFamily. specify calling handlers). family. repeatedly multiple destroy destructors. automatic garbage collection sprites movie. project finished, delete Score, regardless Score. you're change anymore. model, recommended future editing purposes. however. project, filesize. elements, multi-sprites, families. wsfWriteMultiSpriteFamily created (dynamic) members member copying, accomplish above. returned wfsCreateSprite. sprite, populates channel member. initialize sprite. called theNewSpriteNum wfsCreateSprite(theMemberParams) theMemberParams linear information specifying sprite) configured. [memberNameOrNumber, castNameOrNumber, blend, width, height, doNotCreateNewMember] doNotCreateNewMember important parameter current issue. specified, created. positive integer value, Instead, referred WFSATTACHBEHAVIOR wfsAttachBehavior, optionally aOverride parameter. property [#pProp1: value1, #pProp2: value2, #pPropn: valuen] 'reads' configured constructs accordingly. properties behavior. behavior's getPropertyDescriptionList handler, compares default values initial necessarily values). Dialog specifies value. Consequently, constructed However, behavior, adding aOverride. ");s1[25]=new Array("tutorials/WFS.htm","WFS48p2","","");s1[26]=new Array("tutorial1.htm","Windows for Shockwave: Tutorial 1: Creating a Window","This tutorial is a 6.1 Mb download. It contains about 35 minutes of audio in a simulation of the Director authoring environment. Brings you up to speed painlessly on how to construct windows and other stuff.","Tutorial Creating Static Window covers step-by construction parent-child relationships multi-sprites. behaviors windows. navigate primarily minutes highly recommended beginners familiar easier introduction Windows Shockwave reading documentation. Download WFS4Tutorial1.htm browser. purchased 'tutorials' folder WFS4Tutorial1.zip 18/11/03) construct feature window. accessible difference non-modal slider &quot; Manager&quot; behavior. ");s1[27]=new Array("tutorial2.htm","Windows for Shockwave: Tutorial 2: Menus and Menu System Creation","This tutorial contains about 45 minutes of audio and simulation within the Director environment. This tutorial is all about how to create menus and menu systems in WFS.","Tutorial System Creation WFS4Tutorial2.zip download) minutes audio/visual instruction/simulation Director authoring environment painlessly shows/tells construct systems purchased WFS4Tutorial2.DIR 'samples' folder. constructed tutorial. haven't menuing needs. learning results, browser change Parameter Dialog experiment plays. button features navigate tutorial, through. WFS4Tutorial2.zip. minimum screen resolution 800x600 entire viewed 800x600; 800x600, you'll browser. WFS4Tutorial2.zip, documentation concerning menus. accessible docs'. creates normal-looking feature non-standard behave complete created create right-click (Control+click Macs). source scenes WFS48x.DIR, folder documentation. suitable projects looked systems, cross-browser/cross-platform Javascript issues problematical. creating projector, supports projectors. Search 'menu' Dictionary fairly standard-looking however, you're Shockwave natively support (hence menus). Manager accompanying behaviors naturally accompanies windowing system. package, possible. ");s1[28]=new Array("apis.htm","Windows for Shockwave: API Listing","Lists all WFS API handlers and links to the documentation of each handler.","Windows_For_Shockwave Document listed script. handler documentation. handlers called, search prepareMovie gWFSMultiSpriteList wfsManagerIsInstantiated wfsGetNumberOfInstantiatedManagers wfsGetManagerSpriteNum wfsGetManagerName wfsGetSpritenumOfManagerAtThisIndex wfsGetNameOfManagerAtThisIndex wfsAddManagerToMultiSpriteList wfsDeleteManagerFromMultiSpriteList gWFSHighestLocZ gWFSOpenMultiSpriteList wfsGetHighestLocZ wfsIncrementHighestLocZ wfsIncrementAndGetHighestLocZ wfsBoostHighestLocZ wfsGetOpenMultiSpriteList wfsGetFocusManager wfsAddToOpenMultiSpriteList wfsDeleteFromOpenMultiSpriteList wfsGetZOrdinal wfsGetNumberOfOpenMultiSprites wfsGetManagerOfZOrdinal wfsGetLocZOfZOrdinal DETERMINING INTERSECTION CONTAINMENT wfsSpriteIsWithin wfsSpriteIntersects ANCESTORS/DESCENDANTS wfsIsADescendant wfsGetTheRootSpriteNum ELEMENT wfsGetElementNamed Window Manager OPENING, CLOSING, wfsOpenWindow wfsBringWindowToFront wfsCloseWindow wfsRestoreWindowLocZ MOVING MENUS, FAMILIES, ALIGNMENT wfsCenterMultiSprite wfsMoveFamilyBy wfsMoveFamilyTo wfsMoveMultiSpriteTo wfsMoveMultiSpriteBy wfsCenterElementLocH wfsCenterElementLocV wfsPositionElementLocVRelative wfsPositionElementLocVAbsolute PARENT-CHILD OPERATIONS wfsGetParentName wfsGetParentSpriteNum wfsSetChild wfsDeleteChild wfsSetParent wfsGetNumberOfChildren wfsGetChildList wfsSetMoveWithParent MISCELLANEOUS wfsGetElementList wfsGetIAmVisible wfsGetWindowRect wfsGetBackgroundSpritenum Window/Menu wfsGetInitialVisibility wfsSetInitialVisibility wfsGetElementName wfsSetElementName wfsGetMyManagerName wfsGetMyManagerSpriteNum wfsAddElementToManager wfsChangeRegPointToTopLeft Handle wfsSetConstraints wfsGetWindowToClose wfsSetWindowToClose wfsGetCloseEvent wfsSetCloseEvent wfsSetDragConstraints Script Writer WRITERS wfsWriteMultiSprite wfsWriteMultiSpriteFamily wfsWriteElement wfsWriteSpriteAndBehaviorCode wfsWriteSpriteCode wfsWriteBehaviorCode Dynamism DESTRUCTORS wfsDestroyDynamicSprite wfsDestroyDynamicElements wfsDestroyMultiSprite wfsDestroyMultiSpriteFamily wfsDestroyMemberCopy CONSTRUCTORS wfsCreateSprite wfsCreateMemberCopy wfsCreateWindowManager wfsCreateMenuManager wfsCreateElement ATTACHERS wfsAttachBehavior wfsAttachMenuVerb wfsAttachCloseMyWindow wfsAttachCloseAWindow wfsAttachHandle wfsAttachDragElement wfsAttachOpenAWindow wfsAttachCursorControl wfsAttachRollover DYNAMIC CHANNEL wfsGetNumberOfDynamicChannelsInUse wfsDynamicChannelsInUse wfsGetNumberOfDynamicAvailableChannels wfsGetDynamicAvailableChannels wfsGetLastStaticSpriteChannel wfsRemoveScriptAndRunEndSprite wfsScriptIsAttached wfsGetScriptNameList wfsGenerateManagerName wfsAssembleTree wfsGetNumberOfSpritesInFamily wfsConcatenateLists wfsSearchAndReplace wfsCloseMenuSystem ");s1[29]=new Array("dynamismconstructors.htm","Windows for Shockwave: the 'Dynamism' Constructors","You shouldn't need to call the constructors in the 'Dynamism' script if you use the 'Script Writer' behaviors.","&quot;Dynamism&quot; script destructors &quot;Script Writer&quot; Dynamism Constructors called generated handlers Writer script. shouldn't handlers, powerful constructors. constructors: wfsCreateSprite (creates dynamic sprite) wfsCreateMemberCopy existing member) wfsCreateWindowManager Window Manager initializes wfsCreateMenuManager wfsCreateElement element multi-sprite (theMemberParams) FUNCTION handler creates sprite. attach behaviors wfsWriteMultiSprite wfsWriteElement Writer' generating generate copies multi-sprites. PARAMETERS theMemberParams linear [memberNameOrNumber, castNameOrNumber, blend, width, height, doNotCreateNewMember] memberNameOrNumber: (string) number member(name).membernum) castNameOrNumber: number. member(&quot;6: Handle&quot;).castLibNum returns member &quot;6: Handle&quot;. castlib(member(&quot;6: Handle&quot;).castLibNum).name Director documentation integer values correspond blend: numeric sprite opaque. through'. invisible. width: height: height location doNotCreateNewMember optional. doNotCreateNewMember, created specified theMemberNameOrNumber theMemberCastNameOrNumber. RETURN spritenum channels create assigned Channel Manager. EXAMPLES theReturnValue=wfsCreateSprite([&quot;oh&quot;,&quot;vah&quot;,36,100,50,50,10,20]) member(&quot;oh&quot;,&quot;vah&quot;), created, exactly member(&quot;oh&quot;,&quot;vah&quot;). 'background transparent' parameter, created. theReturnValue theReturnValue=wfsCreateSprite([&quot;oh&quot;,&quot;vah&quot;,36,100,50,50,10,20, example, member(&quot;oh&quot;,&quot;vah&quot;) (theMember) public theMember parameter. (which handlers) parameter omitted. member, member.number gWFSCreatedMembers. destroy members wfsCreateMemberCopy, wfsDestroyMemberCopy. theMember: member(whichMember) wfsCreateMemberCopy(member(&quot;bebop&quot;)) member(&quot;bebop&quot;), places member(&quot;bebop&quot;). (Name, InitialVisibility, CenterWindow, ModalStatus, BringToFrontWhenClickedStatus, BringChildrenToFrontWhenClickedStatus, ParentName, MoveWhenParentMovesStatus, doNotCreateNewMember) scripts Elements. channel, Manager' bitmap attaches behavior parameters. harder handler, writes window. making entities static models windows anyway, handlers. thought Dialog string create. InitialVisibility: boolean visible creation. CenterWindow: centered background Manager) elements accordingly. ModalStatus: 0-100. non-modal. modal. BringToFrontWhenClickedStatus: determines automatically brought clicks exposed BringChildrenToFrontWhenClickedStatus: children clicked. ParentName: parent window, parent, ParentName=&quot;&quot; string) specify MoveWhenParentMovesStatus either. MoveWhenParentMovesStatus: moved. course ParentName. doNotCreateNewMember: manager's member(&quot;2: Manager&quot;). &quot;) Manager&quot;) encountered. positive integer, successfully returned, raised theNewSpriteNum= wfsCreateWindowManager(&quot;my window&quot;, &quot;my window's parent&quot;, window&quot;. (assuming initially clicked window&quot; parent&quot;; dragged parent&quot; theNewSpriteNum (theName, theInitialVisibility, theMenuRootStatus, theCloseRootOnSelectionStatus, theParentName, wfsCreateWindowManager, bitmap' supplied beginSprite behavior. theName unique instantiated multi-sprites informing problem. required. theInitialVisibility: involved visibility you're creating initially. Non-root theMenuRootStatus: system system. multiple systems, theCloseRootOnSelectionStatus: configuring effect, matters concerning configuration selects invisible theParentName: &quot;&quot;. maintain position relative parent. absolutely. Submenus submenu descendents time-travel self-incest possible, infinite closed, instance. prompt correct things accidentally sci-fi ancestries. member(&quot;Menu bitmap&quot;). bitmap&quot;) newSpriteNum= wfsCreateMenuManager(&quot;my menu&quot;, window&quot;) configure menu&quot;. second fourth invisible; (memberParams, managerNameOrSpriteNum, initialVisibility) multi-sprite. memberParams memberParams. &quot;4: Window/Menu Element&quot; initial visibility. element, wfsWriteElement. attached copying. additional behavior, wfsAttachBehavior behaviors, attaching attachers. wfsDestroyDynamicSprite garbage collected movie. [member number, doNotCreateMemberCopy] ManagerNameOrSpriteNum: string. intended string, instantiated. operation, creation, member* visible. indicating operation failed. failed, Failure channels. uninstantiated newSpriteNum=wfsCreateElement([45, member(45, newSpriteNum (background transparent). (opaque). doNotCreateMemberCopy unspecified, sprite's member(45,3). Consequently, member(45,3), ");s1[30]=new Array("credits.htm","Windows for Shockwave: Credits","Windows for Shockwave: Credits","Windows_For_Shockwave Credits Designed, Programmed Documented Andrews Victor Special Thanks Robert Tweed, Sébastien Portebois, excellent programming suggestions, esellerate.net service software, purchased Dedicated mother Evelyn Andrews, memory father, Richard aunts, Elinor Henderson Georgie Blakely. people trying develop strong communications Director. beautiful things, application relation. ");s1[31]=new Array("dynamismattachers.htm","Windows for Shockwave: The 'Dynamism' Attacher Handlers","The Attacher handlers let you attach WFS behaviors on the fly.","&quot;Dynamism&quot; script constructors destructors &quot;Script Writer&quot; Dynamism Attachers handlers stored &quot; Dynamism&quot; script. attach behaviors (dynamic static) sprites run-time. easiest generate dynamically create static sprite behavior method. Writer public handler wfsWriteBehaviorCode relevant detach sprite, insert generated configure parameters handlers. problem specify parameters, written: writing dynamic easier. special attention wfsAttachBehavior, below. wfsAttachBehavior attaches wfsAttachMenuVerb &quot;Menu Verb&quot; wfsAttachCloseMyWindow &quot;5: Window&quot; wfsAttachCloseAWindow &quot;Close wfsAttachHandle &quot;6: Handle&quot; wfsAttachDragElement &quot;Drag Element&quot; wfsAttachOpenAWindow &quot;7: wfsAttachCursorControl &quot;Cursor Control&quot; wfsAttachRollover &quot;Rollover&quot; robust initializes behavior, listed attaching specific behavior. wfsAttachBehavior. following: creates object, behavior's handler, exists Property Description properties, configurably initializes, configurably, properties initialized beginSprite exists) (aScriptName, aSprite, aOverride) FUNCTION sprite. Specifically, aScriptName aSprite. general-use handler. exist, default values define properties) optional aOverride parameter. parameter (and/or initial values. script, returns reference sprites. attacher handlers; simply indebted Robert version thanks Robert! aScriptName: string properly. aSprite: channel (integer) located Alternatively, sprite(4) aOverride: optional. override Example: [#pSomeProperty: &quot;text1&quot;, #pSomeOtherProperty: &quot;text2&quot;, #pnonPDLprop:5] aOverride. parameter, theScriptName getPropertyDescriptionList specified RETURN aSprite integer otherwise. theResult=wfsAttachBehavior(&quot;My Script&quot;, attachment successful &quot;My Script&quot; pMyProperty, theResult.pMyProperty pMyProperty. [#pMyProperty1:45]) called pMyProperty1, pMyProperty1 handler). (theElementSpriteNum, OpenAMenu, NameOfMenuToOpen, MenuOpeningLocation, MenuAbsoluteLocH, MenuAbsoluteLocV, Highlight, HorizontalLeftOffset, HorizontalRightOffset, HighlightLocZOffsetText, CloseMenuOnMouseEvent) theElementSpriteNum configures parameters. non-dynamic method dragging dropping Score, Dialog (shown values): appears result defined specifying command-line Additonally, theElementSpritenum, concerning differ value. theElementSpriteNum: spritenum attached. element OpenAMenu: window/menu opened pWFSOpenAMenu Range: &quot;no&quot;, &quot;mouseEnter&quot;, &quot;mouseDown&quot;, &quot;mouseUp&quot;, &quot;mouseLeave&quot;, &quot;rightMouseDown&quot; Default: &quot;no&quot; NameOfMenuToOpen: multi-sprite opened, &quot;&quot; opened. pWFSNameOfMenuToOpen (string) string, MenuOpeningLocation: &quot;Don't opened.&quot; pWFSMenuOpeningLocation opened.&quot;, &quot;Do it.&quot;, &quot;Center &quot;Open is.&quot;, &quot;Absolute location.&quot; MenuAbsoluteLocH: MenuOpeningLocation=&quot;Absolute meaningful horizontal component menu/window pWFSMenuAbsoluteLocH MenuAbsoluteLocV: vertical pWFSMenuAbsoluteLocV Highlight: boolean specifies highlighted mouseEnter. highlight' library elements Highlight=1, highlight vector' (concerning sprites) pWFSHighlight HorizontalLeftOffset: number pixels Postive Negative itself. pWFSHorizontalLeftOffset HorizontalRightOffset: pWFSHorizontalRightOffset HighlightLocZOffsetText: effect Highlight=TRUE. (which highlight&quot; vector shape) words, happens positioned &quot;background transparent&quot; &quot;below&quot; Otherwise, &quot;above&quot;, visible. pWFSHighlightLocZOffsetText &quot;below&quot;, &quot;above&quot; CloseMenuOnMouseEvent: Determines closed triggers event. documentation information event? pWFSCloseMenuOnMouseEvent theScript=wfsAttachMenuVerb(8, menu&quot;, &quot;mouseUp&quot;) &quot;mouseEnter&quot; menu&quot; location authored (&quot;Do it.&quot;). irrelevant specified). mouseenter, (TRUE) (0,0). &quot;mouseUp&quot; closed. run-time, don't, yourself. CloseMyWindowEvent) theElementSpriteNum. window. attached closes window CloseMyWindowEvent triggered. pWFSCloseMyWindowEvent &quot;mouseLeave&quot; theResult=wfsAttachCloseMyWindow(elementSpriteNum, elementSpriteNum) theResult.pWFSCloseMyWindowEvent pWFSCloseMyWindowEvent. theScript=wfsAttachCloseMyWindow(7, mouseUp). wfsAttachCloseAWindow(theElementSpritenum, CloseAWindowEvent, NameOfWindowToClose) multi-sprite. NameOfWindowToClose. CloseAWindowEvent: trigger closing pWFSCloseAWindowEvent NameOfWindowToClose: close. pWFSNameOfWindowToClose theScript=wfsAttachCloseAWindow(9, window&quot;) mouseUp theResult=wfsAttachCloseAWindow(parameters) theResult.pWFSNameOfWindowToClose pWFSNameOfWindowToClose. ConstrainingWindow, ConstrainLeft, ConstrainTop, ConstrainRight, ConstrainBottom) element. handle &quot;6b: properly, &quot;4: mouses constraining movement constrained rectangle ConstrainBottom. Positive margins enlarge ConstrainingWindow: constrain constraint. values: &quot;stage&quot; &quot;parent&quot;. remaining parameters) relative stage. Putting values, instance, &quot;parent&quot; parent, pWFSConstrainingWindow multi-sprite, ConstrainLeft: integer. margin (relative window). pWFSConstrainLeft ConstrainTop: pWFSConstrainTop ConstrainRight: pWFSConstrainRight ConstrainBottom: Bottom window).Positive pWFSConstrainBottom EXAMPLES theScript=wfsAttachHandle(8, window&quot;, draggable aroundable window&quot;. dragged border borders. &quot;stage&quot;, 0,0,0,0) &quot;parent&quot;, moving background parent theScript=wfsAttachHandle(parameters) theScript.pWFSConstrainingWindow pWFSConstrainingWindow. ConstrainToWindow, around. b&quot; 'element'. rectangle. window, BringElementToFrontWhenDragging: brought mousedown (FALSE). depends configuration Manager. pWFSBringElementToFrontWhenDragging ConstrainToWindow: motion Setting ConstrainToWindow=1 pWFSConstrainToWindow boundary which, convention, example, ConstrainLeft meaningless ConstrainToWindow=0. ConstrainTop theScript=wfsAttachDragElement(77, draggable. second brings mousedown. 0,0,0,0, FALSE, consequently, significance; anything, unspecified. 0,0,0,-100) increase bounding 0,0,0. theScript=wfsAttachDragElement(parameters) theScript.pWFSConstrainToWindow pWFSConstrainToWindow, OpenAWindowEvent, NameOfManagerToOpen, OpeningLocation, AbsoluteLocH, AbsoluteLocV) Window' OpenAWindowEvent: pWFSOpenAWindowEvent NameOfManagerToOpen: pWFSNameOfManagerToOpen manager &quot;Type here&quot; OpeningLocation: pWFSOpeningLocation absolute it.&quot; AbsoluteLocH OpeningLocation=&quot;Open pWFSAbsoluteLocH stageRight stageLeft) AbsoluteLocV: AbsoluteLocV pWFSAbsoluteLocV stageBottom stageTop) theScript=wfsAttachOpenAWindow(9, &quot;ae&quot;, &quot;ae&quot; centered fourth &quot;rightMouseDown&quot;, rightMouseDown (Ctrl+click corner rightMouseDown, uncheck File&gt;Publish Settings&gt;Shockwave Save&gt;Display Context Shockwave right-click displayed. wfsAttachCursorControl(theElementSpritenum, TypicalSettings, MouseEnterCursorNum, MouseDownCursorNum, MouseUpCursorNum, MouseLeaveCursorNum, MouseUpOutsideCursorNum) Cursor Director system events. TypicalSettings: TypicalSettings=&quot;Clickable&quot; behave clickable. TypicalSettings=&quot;Drag Drop&quot; pWFSTypicalSettings &quot;Use settings&quot;, &quot;Clickable&quot;, settings&quot; mouseEnterCursorNum: consequential TypicalSettings=&quot;Use settings&quot;. mouseEnterCursorNum corresponds mouseEnter Control pWFSMouseEnterDescription Consult macromedia numbers. (finger) MouseDownCursorNum: pWFSMouseDownDescription MouseUpCursorNum: mouseUp. pWFSMouseUpDescription MouseLeaveCursorNum: mouseLeave. pWFSMouseLeaveDescription (Standard Arrow) MouseUpOutsideCursorNum: mouseUpOutside. pWFSMouseUpOutsideDescription theScript=wfsAttachCursorControl(8, &quot;Clickable&quot;) Drop&quot;) droppable. mouseDown, mouseUp, magnifying glass. mouseLeave mouseUpOutside, reverts standard cursor. NameOfWindowToOpenAndClose) Rollover&quot; NameOfWindowToOpenAndClose: pWFSNameOfWindowToOpenAndClose theScript=wfsAttachRollover(4, enters leaves ");s1[32]=new Array("dynamismchannelmanager.htm","Windows for Shockwave: 'Dynamism' Dynamic Channel Manager","The 'Dynamism' script has the Dynamic Channel Manager coded in it. This page documents the API into the Dynamic Channel Manager.","&quot;Dynamism&quot; script destructors &quot;Script Writer&quot; 'Dynamism' Dynamic Channel Manager script. handlers return information current state. documentation discussion Manager. initially allocating channels. wfsGetNumberOfDynamicChannelsInUse wfsGetDynamicChannelsInUse wfsGetNumberOfDynamicAvailableChannels wfsGetDynamicAvailableChannels wfsGetLastStaticSpriteChannel wfsGetNumberOfDynamicChannelsInUse() Returns number channels theResult wfsGetDynamicChannelsInUse() sorted spritenums channels, sprites Changing change duplicate gWFSUsedChannels wfsGetNumberOfDynamicAvailableChannels() creation sprites. wfsGetDynamicAvailableChannels() linear unused gWFSUnusedChannels. wfsGetLastStaticSpriteChannel() gWFSLastStaticSpriteChannel, global. constant. editing intializeDynamism handler Dynamism instructions. ");s1[33]=new Array("dynamismmiscellaneous.htm","Windows for Shockwave: Miscellaneous Handlers","Miscellaneous Handlers","&quot;Dynamism&quot; script destructors &quot;Script Writer&quot; Miscellaneous Handlers Dynamic Attachers, wfsRemoveScriptAndRunEndSprite remove behavior. --removes sprite wfsScriptIsAttached attached wfsGetScriptNameList returns behaviors wfsGenerateManagerName called Writer generated wfsRemoveScriptAndRunEndSprite(theSpriteNum, theScriptName) Function endSprite handler theScriptName theSpriteNum, handler, de-attaches instance spriteNum=theSpriteNum, detach scripts non-dynamic sprites. checks behavior wfsScriptIsAttached). theSpriteNum. Parameters theSpriteNum: spritenum theScriptName: (string) de-attached. Return successfully de-attached, otherwise. multiple instances removed. theBooleanResult wfsRemoveScriptAndRunEndSprite(4, &quot;some behavior&quot;) exists, behavior&quot; detaches detach). (theSpriteNum, determining sprite. static inspect. sprite(theSpriteNum).scriptInstanceList located, instance, sprite(theSpriteNum).scriptInstanceList[3] theScriptName. theResult=wfsScriptIsAttached(5, determines theResult positive integer indicating (theSpriteNum) examine. linear strings. strings theListResult wfsGetScriptNameList(5) (theManagerName, theFamilyIdentifier) wfsWriteMultiSprite generate multi-sprite. instantiated multi-sprite unique multi-sprites. generates dynamically family multi-sprites, generally submenus family. cognizant Multi-sprites returned wfsWriteMultiSpriteFamily (which non-void familyIdentifier parameter) components separated &quot;+&quot; symbol. display component second wfsWriteMultiSpriteFamily. number copies theManagerName string modelled. theFamilyIdentifier parameter generating multisprites. wfsWriteMultiSprite, specifies theFamilyIdentifier. wfsWriteMultiSprite. manager created. wfsCreatemenu111E36F570  (familyIdentifier) --This located --Writer script. reproduce &quot;menu1,1,1&quot; channel creates resulting channels multi-sprite's --multi-sprite unique. wfsGetManagerName(managerSpriteNum) movie. &quot;menu1,1,1&quot;. --Don't specify 'familyidentifier' parameter. --'familyIdentifier' output output. wfsGetNumberOfDynamicAvailableChannels() --Proceed create multisprite. wfsGenerateManagerName(&quot;menu1,1,1&quot;, familyIdentifier) original' --CREATE IT:******************************************* theNewSpriteNum wfsCreateSprite([&quot;Menu bitmap&quot;, &quot;WFS 4&quot;, --parameters: [member, blend, width, height, doNotCreateNewMember] doNotCreateNewMember, member theManagerSpritenum theScript=wfsAttachBehavior(&quot;Menu Manager&quot;, theNewSpritenum, [#pWFSManagerName: theManagerName, #pWFSParentName: wfsAdjustParent(&quot;menu1,1&quot;, familyIdentifier)]) background&quot;, &quot;7: Normal Menus&quot;, theScript=wfsAttachBehavior(&quot;4: Window/Menu Element&quot;, #pWFSManagerSpriteNum: theManagerSpriteNum]) wfsCreateSprite([&quot;modal dialog...&quot;, Verb&quot;, [#pWFSOpenAMenu: &quot;mouseUp&quot;, #pWFSNameOfMenuToOpen: wfsComputeLink(&quot;1&quot;, familyIdentifier), #pWFSMenuOpeningLocation: &quot;Do it.&quot;, #pWFSHorizontalLeftOffset: #pWFSHorizontalRightOffset: #pWFSCloseMenuOnMouseEvent: &quot;mouseUp&quot;]) theScript=wfsAttachBehavior(&quot;Cursor Control&quot;, [#pWFSTypicalSettings: &quot;Clickable&quot;, #pWFSMouseEnterDescription: &quot;Standard System Arrow&quot;, #pWFSMouseDownDescription: #pWFSMouseUpDescription: Arrow&quot;]) --RETURN MANAGER:********************************** --Else aren't wfsAssembleTree (theManagerSpritenum) spritenums managers descendants theManagerSpritenum, includes start. recursive. wfsGetNumberOfSpritesInFamily sprites (tree) rooted theManagerSpriteNum. wfsConcatenateLists concatenation wfsSearchAndReplace (input, stringToFind, stringToInsert) searches occurrences stringToFind replaces stringToInsert. search replace string. wfsSearchAndReplace(&quot;abcd&quot;, &quot;bc&quot;, &quot;x&quot;) &quot;axd&quot;. ");s1[34]=new Array("dynamismdestructors.htm","Windows for Shockwave: Destructors of Dynamic Sprites","You use the destructors in the 'Dynamism' script to destroy elements, multi-sprites, and families thereof.","&quot;Script Writer&quot; script &quot;Dynamism&quot; Destructors function suggest: wfsDestroyDynamicSprite (destroys individual dynamic sprite) wfsDestroyDynamicElements elements multi-sprite) wfsDestroyMultiSprite wfsDestroyMultiSpriteFamily family multi-sprites) wfsDestroyMemberCopy member) garbage collection sprites movie, destroy and/or multi-sprites families movie. destroyed destructors, channels returned Channel Manager reused Manager. (elementSpriteNum, destroyDynamicMember) handler destroys sprites. sprite dynamic, invisible. endSprite handler(s), elementSpriteNum sprite, existence reusable.This called stopMovie wfsDestroyMultiSprite. cleanly reuse. Parameters spriteNum element destroyed. destryoyDynamicMember boolean optional. parameter, assumed FALSE, sprite's member destroyDynamicMember dynamically created, created dynamically, parameter members. Return Returns positive successfully. destroyed) there's destroy. cleared anyway, Examples theReturnValue wfsDestroyDynamicSprite(678, member, dynamic. wfsDestroyDynamicSprite(678) wfsDestroyDynamicSprite(678,0) exactly thing: example, member. working source behavior attached numbered &quot;destroy element&quot;. That'd destroyer. discussion action tutorial (managerNameOrSpriteNum, destroyDynamicMembers) multi-sprite making wfsDestroyDynamicSprite). static elements. managerNameOrSpriteNum integer string. integer, refers multi-sprite; string, instantiated, nothing. destryoyDynamicMembers members, destroyDynamicMembers members multi-sprite's wfsDestroyDynamicElements(&quot;some multi-sprite&quot;) wfsDestroyDynamicElements(876) examples, suppose &quot;some multi-sprite&quot; matter static.The multi-sprite&quot;, wfsDestroyDynamicElements(876, non-dynamic elements, destroying instructed. destroyDynamicMembers, newManagerOfStaticElements, newParentOfChildren) multi-sprite. value. handlers present. assign parent assigning newParentOfChildren. newManagerOfStaticElements. static, manager) destructor handlers. Director playback enters longer instantiated Score. handler. theNameOrManagerSpriteNum you've footwork, allocated you're generally around. specify destroyDynamicMembers. newManagerOfStaticElements behaviors requiring manager, assigns newParentOfChildren, newParentOfChildren specified assigned parent. (spritenum children destruction successful. manager). Assume &quot;ae&quot; theReturnValue=wfsDestroyMultiSprite(&quot;ae&quot;) theReturnValue=wfsDestroyMultiSprite(486) (including unchanged. theReturnValue=wfsDestroyMultiSprite(&quot;ae&quot;, &quot;ou&quot; &quot;ou&quot;) wfsDestroyMultiSprite(&quot;ae&quot;, manager), managed &quot;ou&quot;. &quot;iy&quot; instantiatiated &quot;ou&quot;, &quot;iy&quot;) multi-sprites, &quot;iy&quot;. feature newManagerOfStaticElements) descendants. remotest descendants first. destroyed, optional managers invisible). window checks gWFSMultiSpriteList corresponds static. button &quot;create&quot;, operating family. happens, family, simply invisible wfsDestroyMultiSpriteFamily. However, &quot;create&quot; create window, entire mouseup&quot; &quot;create element&quot;) window. examine detail. (though theResult wfsDestroyMultiSpriteFamily(&quot;ae&quot;) (assuming dynamic), wfsDestroyMultiSpriteFamily(&quot;ae&quot;,1) dynamic) worry: regardless configure second parameter. wfsDestroyMultiSpriteFamily(&quot;ae&quot;,1, manager: Assuming dynamic--because descendants) managers. (theMemberNumber) configured wfsCreateMemberCopy. theMemberNumber member(whichMember).number number wfsDestroyMemberCopy(12345) ");s1[35]=new Array("mousehandlers.htm","Windows for Shockwave: Writing Mouse Handlers","How to make your mouse handlers consistent with the Cursor Control behavior etc.","Document Handlers Window Elements Cursor Control Handle Rollover Writing develop consistent behaviors. behaviors handlers, execute unconditionally conditions below. mouseEnter, mouseUp, mouseLeave mouseEnter mouseUp attach Elements, course depend intentions nature functionality implementing. However, thought concerning standard tricky sweated simple possible. mentioned below, unconditionally. property spriteNum mouseDown clickOn windows, element, behavior triggered instance, dragging happen element attached triggered. exceptions &quot;Close Window&quot;, &quot;Open &quot;Rollover&quot; sprites &quot;Cursor Control&quot; change sprite Suppose handler release mouse. execute. contained handler. clicked. course. Window&quot; mouseUp. intentional. argument chosen mouseEnter. sprite. &quot;Rollover&quot;, &quot;5: handler, closed regardless avoids enters, mouses leaves sprite, Rationale &quot;Menu Verb&quot; central events menus. mouseDown, mouseLeave, rightMouseDown Consequently, items, contrary intentions. standard, applications, behave elements. mouse, selection Compare happens button, button clicked, triggering selection; inconsistent cancel operation keeping attempt menus, configured, handlers. slightly behavior. triggered, ");s1[36]=new Array("resources.htm","Windows For Shockwave: Director Resources","A page of great Director resources.","Windows_For_Shockwave Document Primary Documentation Newsgroups Articles Behaviors Notable Resources Director written Macromedia. manuals format. includes additional sources. documents: Dictionary. Access Help&gt;Director Help&gt;Lingo &quot;Lingo Feature&quot;. getting Lingo. files. quickest reference. Program Files\\Macromedia\\Director\\Learning directory machine (though examples things. Macromedia Support Center Macromedia's documentation. Macromedia.com versions Multi-User Server What's stuff. Director, Quickstart compare Flash. Director. advanced inter-functionality Flash, Jonkman's article. Tutorials articles. Technotes details search function generally, nicely. Showmes 'show-me' examples. Sample Movies samples indispensable learning levels expertise. questions questions, posting acceptable netiquette maintained beginners. Director.basics Director.Lingo. Director.Multiuser Director.3D. Independent Direct-L beginner advanced. archives useful. posting. bookmarked. volume subscribe. interface excellent. results. DirGames-L funkier Direct-L, folks, eventually. discussion programming Lingo-L, Shockwave-L (which active), MultiUser-L, 3DDirector-L. Stormsky.com web-board forums Montandon. Director_Art started. address technical poetics other) Behaviors/Scripts Director-Online Online source seasoned developers, professionally edited Darrell Plant. writing, nicely searchable, excellent Mediamacros.com BEHAVIORS. Developer developers. perhaps. tricks section, resources. Levine. ambitious intelligent concerning technology. fascinating vision. LingoWorkshop.com Medialight's (Australia), Wigley. number high-performance downloadable elements processing scripts imaging vector images excels bitmaps, public Wigley makes. section ImageFX3 scripts. Testzone. Andrews essays games. Mennenoh downloadable, Exchange Xtras. Amazon.com recommend Demystified Roberts Gross. interested games, Rosenzweig clevermedia.com. interesting high-level Mennenoh. Shockwave Arteroids Complex Frédéric Durieu Flying Puppet Nicolas Clauss Kodicek friends Pianographique Jean-Luc Lamarque, Matuszek Marrow Monkey/Chroma Stanza UpdateStage.com Gretchen Macdowall MultiUserPages Thompson (creator Lingo); interviews ");s1[37]=new Array("rules.htm","Windows for Shockwave: Rules and Tips","The rules and tips page of Window for Shockwave.","Windows_For_Shockwave Document Troubleshooting projects &quot;1: prepareMovie&quot; script window Manager, Manager. Manager consists instance &quot;2: Manager&quot; bitmap &quot;3: behavior attached &quot;Menu bitmap&quot; behaviors properly manage. Windows multi-sprite entities. you're background sprite &quot;4: Window/Menu Element&quot; element (except Managers) behavior, exist. Static elements figure beginSprite) assume closest, instantiated higher introduce figures they're managed closest element. However, auto-run beginSprite handler wfsAddElementToManager change regardless Dynamic informed handlers Score. therefore. manages begins sprites course element's instantiation. terminal channel puppeted, destroyed. instantiation, parent children menus. here&#151;sorry parents. wfsSetParent wfsSetChild parent-child relationships necessarily children. create sprites, Dynamism global variables &quot;gWFS&quot;. &quot;wfs&quot;. properties &quot;pWFS&quot;. follow rules, name-space variable conflicts globals &quot;gWFS&quot;; &quot;wfs&quot;; regPoint Palette Shapes Backgrounds Handling Errors Authoring Library involved construction. properly. regpoints elements. background. reason member created Palette. you'll members Window&gt;Vector Shape. Vector Shapes. movie. message screens, screens. first. Director environment. ");s1[38]=new Array("scriptwriterwriteelement.htm","Windows for Shockwave: wfsWriteElement handler","wfsWriteElement returns Lingo code that, when run, creates a dynamic element of a multi-sprite. The generated code creates the sprite, attaches behaviors, and initializes behaviors. This handler is in the 'Script Writer' movie script.","&quot;Script Writer&quot; Script wfsWriteMultiSpriteFamily wfsWriteMultiSprite &quot;Dynamism&quot; Writer wfsWriteElement Handler (spriteToCopy, doNotCreateNewMember) Function Parameters Return generates returns create dynamic static element multi-sprite. Director Message Window running target sprite instantiated wfsWriteElement(spriteToCopy, output script. &quot; spriteToCopy integer. spriteNum doNotCreateNewMember determines generated member spriteToCopy, spriteToCopy. specify parameter integer parameter, sprite. returned starts &quot;wfsCreate&quot;. string &quot;Element&quot;. channel number spriteToCopy). &quot;Frame&quot;. Finally, executed. instance, wfsWriteElement(17) &quot;copyme&quot; produce wfsCreatecopymeElement17Frame638 executed handlers wfsWriteElement, multisprite parameter. called produced that's multi-sprite &quot;yobaby&quot;. theNewSpriteNum wfsCreatecopymeElement17Frame638(&quot;yobaby&quot;) created channels feature source &quot;create element&quot; generated. step-by-step follow generic handlers. prepareMovie&quot;, Dynamism&quot;, scripts gWFSLastStaticSpriteChannel 'initializeDynamism' script, instructions, haven't allocatable creation. gWFSLastStaticSpriteChannel=84, highest channels. &quot;11.1&quot; Score, navigate instantiated. example, movie. Window. parameters. copies second element's model's member, members elements member. members, resources. impossible shared wfsWriteElement(18) consequently, &quot;wfsCreatecopymeElement18Frame630&quot;. section. &quot;wfsCreatecopymeElement18Frame630&quot; copied pasted particular, &quot;generated1&quot; handlers, handler. handler, &quot;managerNameOrSpriteNum&quot;. element. behavior attached (sprite Score) beginsprite pCounter=1 counter elements. mouseup clickOn clicked, proceed. myManagerSpritenum=sprite(spritenum).wfsGetMyManagerSpriteNum() wfsCreatecopymeElement18Frame630(myManagerSpritenum) --Here created. --wfsCreatecopymeElement18Frame630 'generated1' created, pCounter sprite(theNewSpritenum).member.text string(pCounter) element&quot;, wfsGetMyManagerSpriteNum documented &quot;4: Window/Menu repeatedly available. isn't, anything. destroyed. &quot;destroy element&quot;. (attached example) wfsDestroyDynamicSprite destructor: --This (named element&quot;) --static --Note attach destroys attached, --attached property sprite's sprites, invisible, --Proceed clicked myManager=sprite(spritenum).wfsGetMyManagerSpritenum() --wfsGetMyManagerSpritenum --&quot;4: trashCanSpritenum=sprite(myManager).wfsGetElementNamed(&quot;trash can&quot;) --&quot;create multisprite&quot;, --trash Still, draggable dropped --window. &quot;trash can&quot; --Element&quot; behavior). can&quot;. current managed --myManager. ability referring sprites easier creating --dynamic multi-sprites. naming elements, behavior. intersects trashCanSpritenum window, destroy search --wfsDestroyDynamicSprite --stored cursor theResult=wfsDestroyDynamicSprite(spritenum, primary wfsDestroyDynamicSprite. destroyed manager advantage information discussion wfsGetElementNamed above. change model, regenerate Otherwise, version model. delete finished generating generate run-time. project finished, depend Score. publishing project, you'll rebuild ");s1[39]=new Array("scriptwriterwritemultisprite.htm","Windows for Shockwave: wfsWriteMultiSprite handler","wfsWriteMultiSprite returns Lingo code that, when run, creates a dynamic multi-sprite. This handler is in the 'Script Writer' movie script.","&quot;Script Writer&quot; Script wfsWriteMultiSpriteFamily wfsWriteElement &quot;Dynamism&quot; Writer wfsWriteMultiSprite Handler (managerNameOrSpriteNumToCopy, doNotCreateNewMembers) Function Parameters Return generates returns create dynamic static multi-sprite. Director Message Window running target multi-sprite instantiated wfsWriteMultiSprite(managerNameOrSpriteNumToCopy, output script. elements &quot; managerNameOrSpriteNumToCopy integer string. integer, spriteNum Manager string, doNotCreateNewMembers determines generated copies members specify parameter created. parameter, created dynamically sprite returned. aren't channels entire multi-sprite, wfsWriteMultiSprite, parameters. feature source &quot;create&quot; &quot;create member&quot;) generated. step-by-step follow generic handlers. prepareMovie&quot;, Dynamism&quot;, scripts gWFSLastStaticSpriteChannel 'initializeDynamism' script, instructions, haven't already. allocatable creation. gWFSLastStaticSpriteChannel=84, highest channel number channels. &quot;11.1&quot; Score. navigate movie, sprites static, stage. destroys anymore). normal window. instantiated. example, movie. (&quot;11.1&quot;) manager's second multi-sprite's model's members, members. resources. member model, concerning copies. wfsWriteMultiSprite(9, consequently, &quot;wfsCreate111E10F630&quot; (which stored &quot;generated1&quot; cast). handlers produced wfsMultiSprite follows. starts &quot;wfsCreate&quot;. copied. copied &quot;11.1&quot;. &quot;.&quot; symbol. strips characters &quot;111&quot;. &quot;E&quot; symbol &quot;F&quot; (630). pasted particular, customization wfsWriteMultiSprite(9,1). there's member. multisprite&quot; window, displayed text/field necessarily display multi-sprites displays called &quot;11: Label&quot;. handler. mentions Label&quot; relevant editing: theNewSpriteNum wfsCreateSprite([&quot;11: Label&quot;, wfsWriteElement&quot;, --Parameters: [member, blend, width, height, doNotCreateNewMember] doNotCreateNewMember, --created specified (namely doNotCreateNewMember=1). created, created; change (getting &quot;1&quot; result information editing handlers, section entitled handlers&quot;. handler, &quot;familyIdentifier&quot;. However, mentioned comments &quot;wfsCreate111E10F630&quot;, &quot;Don't 'familyidentifier' parameter. output.&quot; window&quot; behavior attached (sprite Score) mouseup clickon wfsWriteMultiSprite. 'E10F631' --static wfsCreate111E10F630 --located wfsCreate111E10F630() multisprite&quot;, repeatedly aren't, unique multi-sprites. convention pictured below. original remain children wfsSetParent wfsSetChild parent-child relationships. Contrast wfsWriteMultiSpriteFamily. button windows, destroyed. &quot;Destroy Family Mouseup&quot;. handler: cursor theManager=sprite(spritenum).wfsGetMyManagerSpriteNum() theResult=wfsDestroyMultiSpriteFamily(theManager, wfsDestroyMultiSprite, wfsDestroyMultiSpriteFamily. simply destroying single reason wfsDestroyMultiSpriteFamily Mouseup&quot; developed sufficed wfsGetMyManagerSpriteNum &quot;4: Window/Menu Element&quot; regenerate Otherwise, produce version. delete finished generating authoring. run-time. COPY(!) project published, depend model. ");s1[40]=new Array("scriptwriterwritemultispritefamily.htm","Windows for Shockwave: wfsWriteMultiSpriteFamily handler","wfsWriteMultiSpriteFamily returns Lingo code that, when run, creates a dynamic multi-sprite family. This handler is in the 'Script Writer' movie script.","&quot;Script Writer&quot; Script wfsWriteMultiSprite wfsWriteElement &quot;Dynamism&quot; Writer wfsWriteMultiSpriteFamily Handler (managerNameOrSpriteNumToCopy, doNotCreateNewMembers) Function Parameters Return generates returns handlers create dynamic static family multi-sprites. Director Message Window running target instantiated wfsWriteMultiSpriteFamily(managerNameOrSpriteNumToCopy, output script. elements &quot; managerNameOrSpriteNumToCopy integer string. integer, spriteNum Manager multi-sprite string, doNotCreateNewMembers determines whether, created, members created version specify parameter, created. parameter altogether, returned initialize multi-sprites generated. appears generate family. parameters. generated wfsWriteMultiSpriteFamily. produced making wfsWriteMultiSprite, follows. starts &quot;wfsCreate&quot;. Characters illegal stripped symbol &quot;E&quot;. sprite channel located. number executed. Finally, string &quot;Family&quot;. example, &quot;main window&quot; wfsCreatemainwindowE10F572Family. naming conventions &quot;Family&quot; appended property discuss returned. weren't channels anything. family; manager. instance, consisted multi-sprite, managed &quot;A&quot;, [345:&quot;A&quot;]. reflects depth-first traversal Recall simultaneously different. multi-sprites, models. rules. components separated &quot;+&quot; symbol. display component multi-sprite. second indicating copies graphic, joining parent-child relationships: parent reproduce again, instantiated, Suppose &quot;Open behavior attached r+q+1. adjusts adjust family, though. supposed feature source &quot;create multisprite family&quot;, step-by-step follow generic handlers. prepareMovie&quot;, Dynamism&quot;, scripts gWFSLastStaticSpriteChannel 'initializeDynamism' script, instructions, haven't already. allocatable creation. gWFSLastStaticSpriteChannel=84, highest channels. Score.This extensive consists sprites windows menus. navigate movie, instantiated. movie. Window. (&quot;main window&quot;) manager's family's model's members, members. resources. member model, concerning copies. wfsWriteMultiSpriteFamily(10, consequently, appearing &quot;wfsCreatemainwindowE10F570Family&quot;. produce section document rationale named. produced: copied pasted particular, &quot;generated1&quot; customization wfsMultiSpriteFamily(10,1). there's member. family&quot; displayed text/field necessarily displays called label&quot;. 'generated' Search label&quot; occurs theNewSpriteNum wfsCreateSprite([&quot;main label&quot;, &quot;7: Normal Menus&quot;, --parameters: [member, blend, width, height, doNotCreateNewMember] doNotCreateNewMember, doNotCreateNewMember specified. comments things, things wfsCreateSprite. wfsCreateSprite edited deleting &quot;1&quot; specified parameter. information editing handlers, entitled handlers&quot;. &quot;wfsCreatemainwindowE10F570Family&quot; handler. &quot;tester&quot;. window, mouseup clickon =spritenum --wfsCreatemainwindowE10F570Family --wfsWriteMultiSpriteFamily creates rooted --located --typed playing --playback (static) --instantiated, theBigList wfsCreatemainwindowE10F570Family() repeatedly aren't, button windows, destroyed. &quot;Destroy Mouseup&quot;. handler: cursor theManager=sprite(spritenum).wfsGetMyManagerSpriteNum() theResult=wfsDestroyMultiSpriteFamily(theManager, documentation destructors destructors. garbage collection destroyed collected, change regenerate Otherwise, version. delete finished generating project finished, depend Score. model. easily ");s1[41]=new Array("tutorial3.htm","Windows for Shockwave: Tutorial 3: The Score","This tutorial discusses Scene 3 in the Feature Tour, which illustrates how to create multi-sprites that don't look like rectangles in the Score.","Windows_For_Shockwave Tutorial feature source WFS48x.DIR 'samples' folder documentation. illustrates multi-sprites rectangles Score. simply elements existence, nearest, higher, instantiated manager implements smarter version window playing, arrows windows around, positioned correctly window. relative position authoring, exactly authored. (unusual) windows: orange sprite existence closest, background element begins manager. frames channel manager, Although, instantiation, locate multi-sprite, thereafter, wfsAddElementToManager handler regardless usage. Score, deletes sprites managed Managers maintain spriteNums manage. duplicate retrievable wfsGetElementList. ");s1[42]=new Array("tutorial4.htm","Windows for Shockwave: Tutorial 4: wfsAddElementToManager and wfsSpriteIsWithin","This tutorial illustrates wfsAddElementToManager and wfsSpriteIsWithin and shows you how to dynamically make an element be managed by a different manager than it currently is.","Tutorial wfsAddElementToManager wfsSpriteIsWithin explains implement functionality feature scene, &quot;drag window window&quot;, element dropped. &quot;Add Manager (containment)&quot; behavior written handlers Looking source WFS48x.DIR 'samples' folder following: First, notice familiar behaviors Score. haven't before: &quot;set title&quot; sprite sprites relevant tutorial. &quot;8: wfsAddElementToManager&quot;. marker allowing elements windows. wfsAddElementToManager&quot; WFS48x.DIR. arrows diagram chosen correspondence Stage. window. lighter right. Basically interested details, multi-sprite attach &quot; Window/Menu Element&quot; behavior, initially multi-sprite; draggable behavior; Cursor Control&quot; draggability; sprites. details. highest contained overlapping instance, background higher wholely (intersect)&quot; (which require complete containment, intersection. intersects dragged behaviors, they're attached dropped multi-sprites, multi-sprite, pWFSManagerSpritenum=0 pWFSManagerName=&quot;&quot; removed easily created property spritenum --This --behavior. current checks containment multisprites, within. pWFSManagerName=&quot;&quot;. mouseup clickOn theTopWindowIAmWithin=wfsSpriteIsWithin(spritenum) .getLast() handler defined &quot;1: prepareMovie&quot; script.   --It returns sorted windows   --on wfsSpriteIsWithin. theTopWindowIAmWithin &lt;&gt;     sprite(spritenum).wfsAddElementToManager(theTopWindowIAmWithin) &quot;4:     --behavior, sprite.     --managed theTopWindowIAmWithin.     --For information, public section     --or movie.   else --Else multi-sprite.     sprite(spritenum).wfsAddElementToManager(0) consists comments, links. multi-sprites. behavior. moment. words, change element's manager, longer managed obvious). static existence, instantiated However, regardless wfsSpriteIntersects Director stopped graphic, errors clicking starting applies WFS48X.DIR: section, begins ");s1[43]=new Array("tutorial5.htm","Windows for Shockwave: Tutorial 5: wfsSetParent and wfsSetChild","This tutorial illustrates wfsSetParent and wfsSetChild, which allow you to dynamically change parent-child relationships between multi-sprites.","Tutorial wfsSetParent wfsSetChild feature source WFS48x.DIR 'samples' folder documentation) window parent complicated (though well-documented), checks windows dropped selects highest parent-switching (Maybe switch parent.); result complex. actually smaller illustrate handler handler. carried tree-control thing. suited windowing making control elements. change parent-child relationships run-time. set/change multi-sprite multi-sprite. Really, operations that's setting handlers defined &quot; Manager&quot; behaviors. documentation wfsSetChild, pretty well-documented. diagrams documentation. intimidated relative complexity Changing multi-sprites simple, one-liner, create ");s1[44]=new Array("tutorial6.htm","Windows for Shockwave: Tutorial 6: wfsWriteMultiSprite","This tutorial shows you how to create dynamic multi-sprites.","Windows_For_Shockwave Tutorial wfsWriteMultiSprite Overview handler defined &quot; Script Writer&quot; script, writes dynamic copies multi-sprites constructed Score. Static sprites Members compose movies entirely sprites. destroy remain movie. destroyed sprite frame. problems number features options created makeScriptedSprite command 2004+) puppeting channels (earlier versions Director) populating channel member. authoring stage. create multi-sprites. WFS48x.DIR source 'samples' folder documentation. involved wfsWriteMultiSprite, wfsWriteMultiSpriteFamily, wfsWriteElement. documentation &quot;Script outlines generic steps. public handlers wfsWriteElement) detailed handler. recommended picture wfsWriteMultiSprite. ");s1[45]=new Array("tutorial7.htm","Windows for Shockwave: Tutorial 7: wfsWriteMultiSpriteFamily","This tutorial shows you how to dynamically create families of multi-sprites.","Windows_For_Shockwave Tutorial wfsWriteMultiSpriteFamily handler defined &quot; Script Writer&quot; script. writes dynamic copies families multi-sprites constructed models Score. Static sprites Members compose movies entirely sprites. destroy remain movie. destroyed sprite frame. problems number features options created makeScriptedSprite command 2004+) puppeting channels earlier versions Director) populating channel member. authoring stage. create multi-sprites. WFS48x.DIR source 'samples' folder documentation. involved wfsWriteMultiSprite, wfsWriteMultiSpriteFamily, wfsWriteElement. documentation &quot;Script outlines generic steps. public handlers wfsWriteElement) detailed handler. recommended picture wfsWriteMultiSpriteFamily. ");s1[46]=new Array("tutorial8.htm","Windows for Shockwave: Tutorial 8: wfsWriteElement","This tutorial shows you how to create/destroy dynamic elements of multi-sprites.","Windows_For_Shockwave Tutorial wfsWriteElement handler defined &quot; Script Writer&quot; script, writes dynamic copies elements multi-sprites constructed Score. Static sprites Members compose movies entirely sprites. destroy remain movie. destroyed sprite frame. problems number features options created puppeting channels populating channel member. authoring stage. create multi-sprites. WFS48x.DIR source 'samples' folder documentation. involved wfsWriteMultiSprite, wfsWriteMultiSpriteFamily, wfsWriteElement. documentation &quot;Script outlines generic steps. public handlers wfsWriteElement) detailed handler. recommended picture ");s1[47]=new Array("scriptwriterwritebehavior.htm","Windows for Shockwave: wfsWriteBehaviorCode handler","wfsWriteBehaviorCode returns Lingo code that, when tweaked and then run, attaches the specified behavior to the specified sprite. This handler is in the 'Script Writer' movie script.","&quot;Script Writer&quot; Script wfsAttachBehavior Writer wfsWriteBehaviorCode Handler (theSpriteNum, theScriptName) Function Parameters Return Examples authoring dynamically attaches behavior sprite. generates returns tweaked attach specified Director Message Window running theScriptName attached theSpriteNum, theSpritenum instantiated. configured string sprite dynamically. &quot; script, prepareMovie&quot; Dynamism&quot; script. theSpriteNum: integer theScriptName: wfsAttachBehavior, normally. However, getPropertyDescriptionList properties quotation character object references, alert. actually Sorry, problem value() function. Suppose called &quot;my behavior&quot; run-time. properties: pMyProp1 pMyProp2. default &quot;default&quot; pMyProp2 Parameter Dialog &quot;some string&quot; values values. navigate instantiated above. Window, wfsWriteBehaviorCode(5, behavior&quot;) theScript wfsAttachBehavior(&quot;my behavior&quot;, theNewSpriteNum, [#pMyProp1: string&quot;, #pMyProp2: supposed change &quot;theNewSpriteNum&quot; indicating situation configured, value, &quot;default&quot;. produce output: [#pMyProp2: reference pMyProp1. specify differ property value. aren't handler. instance, pMyProp3 defined getPropertyDescriptionList. manually #pMyProp3: generate Window/Menu Element&quot; &quot;4: configure element visible initially. movie, Element&quot;) output theScript=wfsAttachBehavior(&quot;4: Element&quot;, [#pWFSManagerName: theManagerName, #pWFSManagerSpriteNum: theManagerSpriteNum]) Lingo, replace spritenum &quot;theManagerName&quot; manager &quot;theManagerSpriteNum&quot; tweaking, variable generated code). general, produces aOverride #pSomeProperty: variableName property, ");s1[48]=new Array("scriptwriterwritespriteandbehaviorcode.htm","Windows for Shockwave: wfsWriteSpriteAndBehaviorCode handler","wfsWriteSpriteAndBehaviorCode returns Lingo code that, when run, creates a sprite and attaches behaviors","&quot;Script Writer&quot; Script wfsCreateSprite wfsAttachBehavior Writer wfsWriteSpriteAndBehaviorCode Handler (theSpriteNum, doNotCreateNewMember) Function Parameters Return Examples authoring dynamically creates sprite attaches behaviors create dynamically, generates dynamically. configure returns dynamic sprite, channel created attach attached theSpriteNum. Director Message Window running theSpritenum instantiated. &quot; script, prepareMovie&quot; Dynamism&quot; script. theSpriteNum: integer spritenum sprite. doNotCreateNewMember: specify parameter, generated member, member doNotCreateNewMember created, string which, copied, pasted modelled initialize properties getPropertyDescriptionList handlers initial values initialized Suppose run-time. construct stage, movie, navigate instantiated Window, wfsWriteSpriteAndBehaviorCode(5) wfsWriteSpriteAndBehaviorCode(5, output appears Window: --CREATE IT:******************************************* theNewSpriteNum wfsCreateSprite([&quot;window handle&quot;, &quot;1: Intro&quot;, --parameters: [member, blend, width, height, doNotCreateNewMember] doNotCreateNewMember, created. theScript=wfsAttachBehavior(&quot;4: Window/Menu Element&quot;, theNewSpritenum, [#pWFSManagerName: theManagerName, #pWFSManagerSpriteNum: theManagerSpriteNum]) theScript=wfsAttachBehavior(&quot;6: [#pWFSConstrainingWindow: &quot;stage&quot;]) theScript=wfsAttachBehavior(&quot;Cursor Control&quot;, [#pWFSTypicalSettings: &quot;Drag Drop&quot;]) specified &quot;4: Element&quot; behavior theNewSpritenum. replace &quot;theManagerName&quot; manager element &quot;theManagerSpritenum&quot; &quot;theScript&quot; reference tweaked theScript.pWFSManagerName sprite's manager, instance. &quot;6: Handle&quot; apparently configured constrained stage. &quot;Cursor Control&quot; Drop&quot;. tweaks mentioned above. member(&quot;window handle&quot;) Intro&quot; handle&quot;). height general, #pSomeProperty: someVariable wfsWriteSpriteAndBehaviorCode, &quot;someVariable&quot; specific define variable wfsAttachBehavior. ");s1[49]=new Array("scriptwriterwritespritecode.htm","Windows for Shockwave: wfsWriteSpriteCode handler","wfsWriteSpriteCode returns Lingo code that, when run, creates a sprite but attaches no behaviors","&quot;Script Writer&quot; Script wfsCreateSprite wfsWriteSpriteAndBehaviorCode Writer wfsWriteSpriteCode Handler (theSpriteNum, doNotCreateNewMember) Function Parameters Return Examples authoring dynamically creates sprite attach behaviors generates returns create dynamic channel created Director Message Window running theSpritenum instantiated. &quot; script, prepareMovie&quot; Dynamism&quot; script. theSpriteNum: integer theScriptName attached doNotCreateNewMember: specify parameter, generated member, member theSpriteNum. doNotCreateNewMember created, string which, copied, pasted modelled Suppose run-time. construct stage. (although movie, navigate instantiated Window, wfsWriteSpriteCode(5) output appears Window: theNewSpriteNum wfsCreateSprite([&quot;nu&quot;, &quot;Internal&quot;, --parameters: --[member, blend, width, height, doNotCreateNewMember] doNotCreateNewMember, --then created. member(&quot;nu&quot;) Internal member(&quot;nu&quot;). height destroyed destroy destructors, wanted member. wfsWriteSpriteCode(5,1) ");s1[50]=new Array("tutorial9.htm","Windows for Shockwave: Tutorial 9: Dynamism API 1","This tutorial shows you how to create/destroy a single sprite and how to attach behaviors dynamically.","Windows_For_Shockwave wfsWriteBehaviorCode wfsWriteSpriteCode wfsWriteSpriteAndBehaviorCode Tutorial Dynamism handlers &quot; Dynamism&quot; wfsCreateSprite, wfsAttachBehavior, wfsDestroyDynamicSprite. create sprites, attach behaviors destroy dynamic sprites (respectively). managers elements. behaviors. Shockwave piece, clicking &quot;create&quot; button ");s1[51]=new Array("tutorial10.htm","Windows for Shockwave: Tutorial 10: Dynamism API 2","This tutorial shows you how to create/destroy a multi-sprite by writing code using the Dynamism API","Windows_For_Shockwave wfsWriteBehaviorCode wfsWriteSpriteCode wfsWriteSpriteAndBehaviorCode Tutorial Dynamism create dynamic multi-sprite writing wfsWriteMultiSprite wfsWriteMultiSpriteFamily handlers called tutorial: wfsGetNumberOfDynamicAvailableChannels wfsGenerateManagerName wfsCreateWindowManager wfsCreateElement wfsAttachHandle wfsAttachCursorControl wfsAttachBehavior wfsDestroyMultiSprite wfsGetMyManagerSpritenum Shockwave ");s1[52]=new Array("tutorials/WFSscene11.htm","WFS48p2: 11: wfsWriteElement","","");s1[53]=new Array("tutorials/WFSscene10.htm","WFS48p2: 10: wfsWriteMultiSpriteFamily","","");var sb=0;var sc=1;var sd=2;var se=3;var sf=4;var sg=5;var sh=6;var si=7;var sj=8;var sk;var sl;var sm;var sn; var s98 ; var sB=true;var sC=1;var sE=2;var sD=3;var sF=4;var sP=false;var sQ=true;var s46=true;var s83=true;var s73=true;var s14=true;var s17=false;var s90=-1;var s45=0;var sT;function SMPSetFocus() { document.formSearch.txtSearch.focus(); }
function sp(sq) {if ((sq>="a" && sq<="z") || (sq=="&") ||(sq>="A" && sq<="Z") || (sq>="0" && sq <="9")) { return true; } else { return false; } }function sr( st, su, sv ) {var sy;var sz, s7, s2; var s3=0; var s42; var s43=true; var s44;s1[st][sg]=0;for( s42=0; s42<s41.length; s42++ ){ if (s41[s42].length>0) { sy=s1[st][su];if ( !s17 ){ sy=sy.toUpperCase(); } sz=sy.indexOf( s41[s42] );s44=s1[st][sg];while (sz >= 0){ s3 = s3 + sz + 1;if(( sm== -2 ) || ( sm== -5 )) { s7 = false; } else { if (sz == 0) { s7=false; } else { s7=sp(sy.charAt(sz-1)); }  } if(( sm == -3 ) || ( sm == -5 )) { s2 = false; } else { if ( sy.length - sz == s41[s42].length) { s2 = false; } else { s2 = sp(sy.charAt(sz + s41[s42].length)); }  } if (!s7 && !s2) { s1[st][sj+s1[st][sg]] = s3 - 1;s1[st][sg] ++; } sy = sy.substring(sz+1,sy.length);while( sp(sy.charAt(0)) && sy.length > 0 ) { sy = sy.substring( 1, sy.length ) ;s3 ++; } sz = sy.indexOf(s41[s42]); } if( s1[st][sg] == s44) { s43=false; } } } if( (s45==2) && (s43==false) ) { s1[st][sg]=0; } } function s4(st, sv) { var su=-1, s5; var ak=55633074655303; s1[st][sf]=-1;while( ++su <= se && s1[st][sf]==-1 ) { s5 = su==0 ? sc : (su==1 ? sd : (su==2 ? sb : se));if( ((s5 == sc ) && ( s46 )) || ((s5 == sd ) && ( s83 )) || ((s5 == sb ) && ( s73 )) || ((s5 == se ) && ( s14 )) ) { sr( st, s5, sv ); } else { s1[st][sg]=0 } if ( s1[st][sg] > 0 ) { s1[st][sf] = s5; } } s="searchmaker";t=eval(s.charAt(2)+s.charAt(8)); } function s6() { var st, su, s79, s8;for( st=1; st<s1.length; st++ ) { s1[st][si] = st; } if( sB ) {for( st=1; st<s1.length; st++ ) { if( s1[st][sf] == sc ) { s1[st][sh] = (4-sC) * 15000; } else if( s1[st][sf] == sd ) { s1[st][sh] = (4-sE) * 15000; } else if( s1[st][sf] == sb ) { s1[st][sh] = (4-sD) * 15000; } else { s1[st][sh] = (4-sF) * 15000 + s1[st][sg]; } } for( st=2; st<s1.length; st++ ) { s79 = s1[st][sh]; s8 = s1[st][si];for( su=st; su>1 && s79 > s1[su-1][sh]; su--) { s1[su][sh] = s1[su-1][sh];s1[su][si] = s1[su-1][si]; }s1[su][sh] = s79;s1[su][si] = s8; } } } function s9(st) { var sA = s1[st][sg]==1 ? "match" : "matches";sk += ""; sk += "<font color=\"#DFDFDF\">"; if( s1[st][sf]==sc ) { sk += " - matched title"; } else { if( s1[st][sf]==sd ) {sk += " - matched description"; } else { if( s1[st][sf]==sb ) { sk += " - matched URL"; } else { sk += " - " + s1[st][sg] + " " + sA + "";  } } } sk += "</font>"; sk += ""; } function sG(st, sH) { var sI;var sJ;var sK = false; var sL=s1[st][sj + sH - 1]; sI = sL<30 ? sI=0 : sI=sL-30;sJ = (sL+30 > s1[st][se].length) ? sJ=s1[st][se].length : sJ=sL+30;while ((sI>=0) && !sK) { if(sp(s1[st][se].charAt(sI))) { sI--; } else { sK=true; } } sI++;sK=false;while ((sJ > sL) && !sK) { if(sp(s1[st][se].charAt(sJ))) { sJ--; } else { sK=true; } } sk += "<BR><font color=\"#CFCFCF\">.. "+s1[st][se].substring(sI,sL); sk += "<B>" + s1[st][se].substring(sL , sL + sl.length ) +"</B>";sk += s1[st][se].substring(sL + sl.length ,sJ) + " ..</font>"; } function sN( st ) { if( sP==false ) { var su=1; while ( (su < 3) && (su<=s1[st][sg])) { sG( st, su ); su++; } } } function sR( sy, sL ) { sk += sy.substring( 0, sL );sk += "<B>" + sy.substring( sL , sL + sl.length ) +"</B>";sk += sy.substring( sL + sl.length ,sy.length ); } function sU( st, sT ) { sk += "<p><font color=\"#CFCFCF\">" + sT +".</font> ";sk += "<a href=\""+s1[st][sb]+"\"><font face=\"Arial\" size=\"3\" color=\"#009FFF\">"+s1[st][sc]+"</font></a>";if (( s1[st][sf]==se ) && (s45==0)) { sN(st); } else { sk+=""; } if( (s1[st][sf]==sd ) && (s45==0)) { sk += "<br><font color=\"#31CC6C\">Description:</font><font color=\"#DFDFDF\"> "; sk += "";sR( s1[st][sd], s1[st][sj] ); sk += "</font>"; } else { if( s1[st][sd].length > 0 ) { sk += "<br><font color=\"#31CC6C\">Description:</font></font><font color=\"#DFDFDF\"> "; sk += "" + s1[st][sd]; } else {  } } sk += "</font>"; sk+= "<br>";sk += "<font color=\"#31CC6C\">"; if(( s1[st][sf]==sb ) && (s45==0)) { sR( s1[st][sb], s1[st][sj] ); } else { sk += s1[st][sb]; } sk += "</font>"; if( sQ ) { s9( st ); } sk += "<br>"; }; function sV() { sT = 0;if (! (sn )) { for( var st=1; st<s1.length; st++ ) { if(( s1[s1[st][si]][sg] > 0 ) && (( sT < s90 ) || ( s90 == -1 ))) { sU(s1[st][si], ++sT); } }  } else { if( sm == -4 ) { sk += "<BR><font color=\"#CFCFCF\">ERROR: The wildcard character (*) must be at the beginning or end of the text.</font>"; } }  } function sW() { sk += "<html><!-- This document was created with HomeSite 2.5 --> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\"> <HTML> <HEAD> <script language=\"JavaScript\" src=\"search.js\"></scr"; sk +="ipt> <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=iso-8859-1\"> <META NAME=\"description\" CONTENT=\"The Windows for Shockwave documentation search engine page.\"> <META NAME=\"keywords\" CONTENT=\"search, search engine, documentation, help\"> <META NAME=\"GENERATOR\" CONTENT=\"Dreamweaver\"> <LINK href=\"stylesheets/wfs1.css\" rel=stylesheet type=text/css> <TITLE>Windows for Shockwave: Search Results (Advanced)</TITLE> <script language=\"JavaScript\" type=\"text/javascript\"> <!-- Hide script from older browsers //This javascript is for window focus control; so is the onload=\"self.focus()\" in the body tag. if (window.focus) { self.focus(); } // end hiding contents --> </scr"; sk +="ipt> </HEAD> <BODY BGCOLOR=\"Black\" TEXT=\"#CCCCCC\" VLINK=\"Lime\" ALINK=\"White\" onload=\"self.focus()\"> <P>&nbsp; <CENTER> <TABLE WIDTH=\"80%\" BORDER=0 cellpadding=\"0\" cellspacing=\"0\"> <tr> <td valign=\"top\" bgcolor=\"#555555\" width=\"270\"> <p><a name=\"1\"></a><a href=\"index.htm\"><img src=\"graphics/wfslogo.gif\" width=\"270\" height=\"35\" border=\"0\"></a></p> <h3>Associated Email list <span class=\"side1\"><a href=\"http://groups.yahoo.com/group/Windows_For_Shockwave/\" target=\"reddss\">Windows_For_Shockwave</a></span></h3> <form name=formSearch action=\"javascript:startsearch() //\"> <input name=txtSearch STYLE=\"color: silver; font-family: Arial,Helvetica; font-weight: bold; font-size: 10px; background-color: black;\">&nbsp; <input name=send type=submit value=search STYLE=\"color: silver; font-family: Arial,Helvetica; font-weight: bold; font-size: 10px; background-color: black;\"> <p><font color=\"#CFCFCF\"><select size=\"1\" name=\"FormSearchMode\" STYLE=\"color: silver; font-family: Arial,Helvetica; font-weight: bold; font-size: 10px; background-color: black;\"><option value=\"0\">Search for words \"as a phrase\"</option><option value=\"1\">Search for any of the words</option></select><br><br></font><font color=\"#CFCFCF\"><input type=\"checkbox\" name=\"FormSearchTitle\" checked>Search Title<br></font><font color=\"#CFCFCF\"><input type=\"checkbox\" name=\"FormSearchDescription\" checked>Search Description<br></font><font color=\"#CFCFCF\"><input type=\"checkbox\" name=\"FormSearchURL\" checked>Search URL<br></font><font color=\"#CFCFCF\"><input type=\"checkbox\" name=\"FormSearchContent\" checked>Search Page Content<br></font></form> <h3>Site Nav<br> <object classid=\"clsid:166B1BCA-3F9C-11CF-8075-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=10,0,0,0\" ID=wfsmenu width=265 height=510> <param name=src value=\"wfsmenu.dcr\"> <param name=swRemote value=\"swSaveEnabled='true' swVolume='true' swRestart='true' swPausePlay='true' swFastForward='true' swContextMenu='false' \"> <param name=swStretchStyle value=none> <PARAM NAME=bgColor VALUE=#555555> <embed src=\"wfsmenu.dcr\" bgColor=#555555 width=265 height=510 swRemote=\"swSaveEnabled='true' swVolume='true' swRestart='true' swPausePlay='true' swFastForward='true' swContextMenu='false' \" swStretchStyle=none type=\"application/x-director\" pluginspage=\"http://www.macromedia.com/shockwave/download/\"></embed> </object> </h3> </td> <td bgcolor=\"#333333\" valign=\"top\"> <p class=\"jtitle\">Search Results </p> <h3 >Search Results</h3> "; sk += "<font color=\"#CFCFCF\">";sk += "<p>You searched for <b>" + s98 +".</b>"; sk += "</font>" }; function sY() { if(sT==0) { sk += "<p><font color=\"#CFCFCF\">No pages matched your search.&nbsp;&nbsp;="; } else { var sA = sT==1 ? "page shown." : "pages shown."; sk += "<p><font color=\"#CFCFCF\">" + sT + " " + sA + "&nbsp;</font>"; } sk += "<p>&nbsp;</p> </td> <TR> <TD COLSPAN=2 class=\"jtitle\"> <a href=\"index.htm\"><img src=\"graphics/wfslogo.gif\" width=\"270\" height=\"35\" align=\"left\" border=\"0\"></a>Search Results </TD> </TR> <TR> <TD> </TD> </TR> </TABLE> <P> <P> <P> <p></P> </CENTER> </BODY> </HTML> </html>"; } function s11() { var s23 = sk;document.open(); document.write(s23); document.close(); } function s03( sy ) { var sqh="";for( var st=0; st<sy.length; st++) { if( sy.charAt(st)=="<" ) { sqh += "&lt;"; } else if( sy.charAt(st)==">" ) { sqh += "&gt;"; } else if( sy.charAt(st)=="\"" ) { sqh += "&quot;"; } else { sqh += sy.charAt(st); } } return( sqh ); } function s93() { sm = sl.indexOf("*"); if( sm == 0 ) { sm = -2; sn = false; } else if (sm == sl.length -1) { sm = -3; sn = false; } else if (sm > 0 ) { sm = -4;sn = true; } else { sn = false; } if ( sl.indexOf("*") != sl.lastIndexOf("*") ) { if( sm == -2 ) { if( sl.lastIndexOf("*") == sl.length - 1 ) { sm = -5; } else { sm = -4; sn = true; } } }if( ( sm == -2 ) || (sm == -5 )) { sl = sl.substring( 1, sl.length ); } if( ( sm == -3 ) || (sm == -5 )) { sl = sl.substring( 0, sl.length - 1 ); } } function startsearch() { var sv;sl=document.formSearch.txtSearch.value;if (( sl.length > 0 )&&( sl != "*" )) { sk = "";s98 = sl; sl = s03(sl);s93();if( s17 ) { sv = sl; } else { sv = sl.toUpperCase(); }if (s45 != 0) { s41=sv.split(' '); } else { s41=sv.split(); }if ( !(sn ) ) { for( var st=1; st<s1.length; st++ ) { s4( st, sv ); } s6(); } sW();sV();sY();s11(); } } 

//  End of Search Maker Pro script.

