Regina Célia Pinto on Thu, 27 Nov 2003 16:36:34 +0100 (CET)

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

[nettime-lat] Windows for Shockwave 4.0 launched


Windows for Shockwave (WFS) 4.0 is launched at

Windows For Shockwave is a set of Library Palette behaviors for Director 8+
(not an Xtra) that enables drag and drop creation of onstage windows, modal
dialog boxes, cascading menus, right-click (Control+click in Mac) pop-up
menus, and good cursor image control. More generally, the main idea of WFS
is the 'multi-sprite', sort of like LDM or Movie Clips in Flash: you create
multiple sprites that are treated as a unit, and the WFS behavior library
and API supply you with ways of operating on elements of multi-sprites,
multi-sprites, and families of multi-sprites. There are two types of
multi-sprites in WFS: windows and menus.

WFS can be used in the creation of Shockwave movies or Projectors. The drag
and drop behaviors are suitable for Director developers with no Lingo
knowledge. WFS also supplies an extensive API for programmers to access more

WFS 4.0 adds the exciting ability to easily create and destroy dynamic
sprites, dynamic windows, dynamic menus, and dynamic families thereof. Tired
of having to allocate dummy sprites? Dummies often result in a performance
hit (too many simultaneously instantiated sprites) and low bounds on the
total number of dummys you can allocate for each type of dummy sprite (as in
"oops we're out of Martians" or sound icons or whatever). WFS 4.0 eliminates
the need for dummy sprites. And the WFS 4.0 "Script Writer" handlers write
the Lingo for you. Create windows and menus as you do in 3.0's easy drag and
drop way. Then aim the "Script Writer" handlers at the static model and WFS
creates easily-called handlers that, when called, create dynamic copies of
the static model.

The level of Lingo knowledge required to use the WFS 4.0 features is less
than intermediate, whereas dynamic sprite creation/destruction/management is
an advanced procedure with gotchas without WFS 4.0; WFS 4.0 is the only
system out there that lets you manage dynamic sprites. And the WFS 3.0
functionality, fully included in 4.0, which does not require any Lingo
knowledge, is the only system out there for creating windowed applications
for Shockwave.

Some developers used WFS 3.0 as an alternative to MIAW in making projectors
(Director does not support MIAW in Shockwave) because of WFS's ease of use
and feature set. Others used WFS 3.0 to create windows and menus in
Shockwave. Others used it as an alternative to LDM (Director's buggy version
of the Movie Clip concept) to create things that don't look like windows or
menus but benefit from that cohesive behavior. Others use WFS as their
windowing and menu-making tool whether they are developing projectors or

WFS 4.0 retains and enhances these uses but will now also serve as your
engine for creation/destruction/management of dynamic sprites,
multi-sprites, and families thereof. The stress in WFS 4.0 is therefore on
building apps that have a deep Score but must run fast. WFS helps you keep
your Score from getting too deep unnecessarily, but it also opens up a
maximum of 1000 sprite channels for simultaneous use (and reuse).


The following text is also available (with links) on the WFS home
page at

1.  Easy to use Dynamic creation/destruction of elements/multi-
    sprites/families of multi-sprites (4.0 Professional only). No
    more allocation of dummy resources in Director. This makes for
    faster apps and you can have more sprites of any particular
    resource-type than you can when you have to load the Score with

2.  Still works like 3.0 except for the added dynamic creation-
    destruction functionality, so if you know 3.0, you'll find 4.0
    a snap.

3.  New "Drag Element" behavior that constrains elements to their
    window or a configurable rectangle relative to the element's

4.  Enhanced API for parent-child support and improved wfsSetParent
    and wfsSetChild.

5.  Enhanced "6: Handle" functionality so that multi-sprites can be
    constrained to move within some other multi-sprite (or the stage
    or their parent or a configurable rectangle) and the "6: Handle"
    behavior does less computation. One or a hundred instances of the
    behavior do the same amount of constant computation: at most 1
    comparison per frame of constant processing.

6.  Expanded Window Manager Parameter Dialog Box to permit initial
    centering of window and control over whether children stay in
    front of parents.

7.  Expanded API in several behaviors and scripts. I have also
    created a page of documentation that lists the full API and
    links to the particular handler documentation so that you can
    reference the full API easier, at a glance.

8.  Smarter multi-sprites. Elements can come into existence after the
    multi-sprite has been moved by the user but still the elements
    assume their correct position within the window (or menu).

9.  Many bug-fixes.

10. New tutorials with audio and animated instruction (tutorial 1 and
    tutorial 2). Each of these has more than a half-hour of instruction
    in how to use WFS. These make getting started with WFS much quicker
    than normal tutorials. The tutorials are highly navigable, also, so
    you can reference them and find things within them easily. There are
    8 tutorials in total. All of them are new to WFS 4.0.

11. Indexed documentation search engine and updated
    documentation. The Web version of the Search Engine has a smaller
    index file than the downloadable version so Web searches don't take
    too long to download the index file.

12. All WFS globals are named so that now they begin with "gWFS"; all
    WFS properties now begin with "pWFS"; all WFS handlers now begin
    with "wfs". So you are guaranteed to have no name-space conflicts
    with WFS globals, properties, and handlers as long as you don't
    begin your globals with "gWFS" nor your properties with "pWFS"
    nor your handlers with "wfs".

13. Developed in Director 8 on Windows XP. Tested in Director MX on
    Windows XP.


The only difference between the Standard and Professional versions is
that the Professional version includes the "Script Writer" and the
"Dynamism" scripts. These scripts are the active ingredient in
creating dynamic multi-sprites and families and elements thereof.


Many people on this list will have reflected on the topic of dynamic
sprite creation in Director at length. I think you'll find the
approach to this topic in WFS 4.0 Professional quite an advance on
the usual methods. Why? Well, if we're talking about dynamic sprite
creation, we're talking about creating and destroying sprites via
Lingo commands. This can be extrordinarily tedious. Why? Well, you'd
think that creating a dynamic sprite would involve one or more handler
calls that require setting a lot of parameters: the member parameters;
the sprite parameters, and the attached behavior parameters.

Part of the beauty of the WFS 4.0 Professional approach is that it
takes the tedium out of this process. The way you create a dynamic
sprite in WFS 4.0 Professional is you create it by first creating
a static model of it, ie, you drag a member onto the stage and
attach the behaviors to it you want attached to it. Then you aim
one of the "Script Writer" handlers at it and it writes the Lingo
code you need to create dynamic versions of the sprite.

Moreover, the "Script Writer" script contains public handlers that
do the same concerning multi-sprites and even families of multi-sprites.
In other words, you don't have to create dynamic entities sprite-by-
sprite, but can create them multi-sprite by multi-sprite or even
family-of-multi-sprites by family-of-multi-sprites.

Correspondingly, one would want destructors that can destroy dynamic
entities not only sprite-by-sprite but also multi-sprite by multi-sprite.
WFS 4.0 supplies those destructors, and also destructors to off them
multi-sprite family by multi-sprite family.

WFS 4.0 Professional also does automatic garbage collection of dynamic
sprites at the end of the movie.


Nettime-lat mailing list