|
Director 7
The game has changed. Director 7 is built with a completely new engine and is extremely cool. However there are some bugs and odd features. Below I cover the following topics, noting strangenesses in the D7 UI that caught me by surprise, bugs seen by me and others, and workarounds (I will try to always counter a bug with a workaround for it; anything else is simply a warning, not something of value to someone who might need to use the very feature which contains a bug). Currently this is for Windows only.
MIAW issues
1. MIAW locs on the stage in author do not seem to line up very well compared with 6ish locs. I'm still working on this one. I suspect that MIAW locs in author are set relative to the absolute location of the 7 environment pane, not the location of the stage within that pane, but I'm not certain about that. 1. Elimination of superfluous Score channels can be a little tricky. You have to make sure you're not accidentally nuking any extra sprites. Here is a script which might help; place it in any movie script and enter its reference in the message window to find out how many sprite channels the current file is actually using: on CountActiveSprites GLOBAL gnFinalSprite, gnBottomMostFrame go 1
gnFinalSprite = 0
put ( "Totaling sprites... This may take a while..." )
lChannels = []
repeat with nFrame = 1 to nLastFrame
-- comment the line below to make this run faster
go nFrame
repeat with nChannel = 1 to nFinalChannel
nLast = count ( lChannels )
repeat with nChannel = 1 to nLast
repeat with nActive = 1 to count ( lChannels )
if nSprites > gnFinalSprite then
-- comment the line below to make this run faster
nSprites = 0
end repeat
put ( "Bottommost sprite is" && gnFinalSprite & ¬
END CountActiveSprites --This will tell you, in the Message window, how many channels your file uses, and will center the score on the frame that uses the most channels; thus you can theoretically use it to condense your file a bit if possible. It can take beaucoup time to run, and I'd like to hear from anyone who has a faster method. This works only with the current open file. It does not branch. ==== 2. The last setting you used for sprites in the score is retained the next time you run Director. So if you make a file that uses only one channel, set it to one channel, save it, quit Director and then reload Director, you will have only one score channel available until you reset the numbers. You can do this, BTW, from {menu} Modify --> Movie --> Properties... ==== 3. If you try to add items to the stage beyond the maximum number of channels available, Director will warn you that it cannot "drop" all chosen members, but it will not tell you why. Note -- vector shapes are new to 7 and absolutely need a little practice to work with if they're unfamiliar to you conceptually. They remain editable in ways that bitmaps do not, and they are smaller on disk and quicker to kick on the screen. Plus, they're fun. ==== 1. Rotate and skew. Yikes. Select the circular deelybob on the Tool Palette, then hack away at your sprites onscreen. Fields you tweak this way remain usable, too. That is you can still dynamically change their contents, even with skewing, rotating and so on. This is something I played with for at least 30 minutes, noodling until I had enough cheesy pasta to feed a small army. Just try it. ==== 2. Vector shapes don't antialias that well against variable backgrounds. Against solid color backgrounds set the background color of the vector shape in question to the color of the background the shape sits on; you can then use copy ink to draw the shape onscreen. ==== 3. Vector shapes can be any size as long as you like the overall look of them. Stick 'em on the stage and size 'em to fit your needs by tugging on their handles on the stage. You don't get ugly, crunchy pixelation like you do with bitmaps. ==== 4. Vector shapes do not layer in edit. That is, in the Vector Shape window, you cannot make, say, a circle, and then put a square on top of it. But then, with 1000 sprites per frame, why would you even need to? N.B. since mentioning the 1000 sprite limit as being really huge I have seen at least one post by someone asking how to go over the 1000-sprite limit. Astounding. I can remember when 48 sprites was a really vast number to have onscreen at one time. ==== 5. Anti-aliased text, made using the "A" box on the Tool Palette, is editable at runtime now; that is, you can change AA text contents dynamically in your projectors. You can import RTF and HTML files directly into your cast in authormode or runtime -- with formatting intact -- and can embed fonts to ensure that your text properties persist on any platform. AA text is rendered on the fly and so can cause a noticeable slowdown in some situations, particularly when you're entering a frame containing AA text, and also when exiting a projector if you have a lot of AA members. 7.0.2 permits prerendering of AA text, which helps the frame issue but may result in longer load times ni some cases. Lines in AA members are counted by hard RETURNs, not word wrap breaks. Lines in #field members are counted in the old-school fashion. Individual words and lines in the text members are not directly addressable via the old Lingo syntax. If you need to set or change specific words in a text member, you need to use the new dot syntax: member("textMember").word[5] = "foobar" rather than put "foobar" into word 5 of member "textMember" ==== 6. Scrolling text uses system scrollbars now. No more MacOS-1-type black and white graphics. Downside is that the scrollbars use directToStage mapping, meaning they appear, like QT files, above everything else, regardless of actual placement in the score. Ah well. If you want an alternative to system bar scrolling, check out my free DeadC behavior, part of the HowdyGoodies suite. ScrollerCoaster will work on items other than text members. 1. AlphaMania and PhotoCaster for D6 do not work with 7. The developers are offering a free upgrade, though. Go directly to MediaLab for more information. The lite version of PhotoCaster which comes with Dir7 will import only one layer of a Photoshop file. Nuts! ==== 2. By default D7 adds a TON of Xtras to your file. By default they are to be bundled into the projector. Look out for that when you work on your file. A compiled projector using default settings is around 2 Mb for a mere stub. Those Xtras are decompressed to your user's HD in the C:\TEMP directory (Win) or the Trash folder (Mac) into folders with names such as "TempFolder.aaa" and are generally removed when the projector's done running. However if the app crashes they will not be deleted and can end up filling the drive. Also if the user does not have write permission the projector won't load, because it won't be able to decompress those temporary resources. The workaround is to create an Xtras directory alongside your projector and place in it hte Xtras you need. Also place the DirAPI and IML DLL files alongside the projector and, when compiling, uncheck the "include in projector" box for the Xtras and check the "use system player" option to create a "slim" projector. This will prevent Director from bundling any of these items into the projector and will create a file that loads as quickly as possible. Consult Macromedia's pages for more information on this. What may be hard to tell initially is what Xtras you can do without. Experimentation and some foresight are the answers. For instance the text asset Xtras are desirable if you have text onscreen; Flash is good if you have Flash sprites; and so on. Note that you will need to have the Flash Asset Xtra if you use any vector shapes! ==== 3. FileIO may be used on WinTel to set a default save location as part of the displaySave dialog box. I don't know if FIO for 7 will work on the Mac in this fashion; apparently the 5/6 FIO does not. Here's the basic way to do it:
set oWriteObject = new ( xtra "fileio" )
I do not know if this works with Win98, which uses a "My Documents" folder, damn Bill's eyes. 1. Something not easy to get from the Lingo manual, but useful: from...to in dotted Lingo. The expression 1 to 50 for instance, is conveyed in dotted Lingo as [1..50] I do not know if there is an analogue for "down to"; perhaps [50..1] would work instead of "50 down to 1". Haven't tried it yet. ==== 2. The Script windows do not have rightmost-edge boundaries. To activate wrapping right-click (Win) or control-click (Mac) any open script window and select "Wrap" from the popup menu. Thanks to Terry Schussler and Bruce Epstein for pointing this one out to me. ==== 3. Dotted Lingo works fine with other parenthetics, provided you write clean code. If Director complains about something on compile, check your parenthetical expressions -- they might be confusing its new Lingo compiler. ==== 4. SET {expression} = {expression} is no longer necessary. It's OK to use {expression} = {expression} without the SET keyword. ==== 5. There is not yet a ++ or its permutations; that is, "increment by 1", "decrement by 1", etc. Thus you still have to write nCounter = nCounter + 1 instead of nCounter ++ Bah! Curses! Or, in Lingo-esque: on Curses case ( curses ) of
> 2: Foiled( #again )
end case END Curses ==== 6. Dotted Lingo, once you get a feel for it, is faster to write, and is much more consistent with other OOP environments, such as Java and JavaScript, and possibly C++ (or, in Lingo, C = C + 1 ;). Work on it; it is worth it. ==== 7. Built-in colorized syntax for your scripts is nice, but older internal script formattng utilities such as PrettyScript don't seem to work with it. I don't know yet if my SinTaxer will or not. The built-in colorizer is nice, but you only get 4 options now. Oh well. 1. Well-written 6 files should update to 7 pretty transparently, given some of the other things I've covered here. However onscreen text characteristics will be changed in some cases, syntax might need work in Lingo, and you might be tempted to replace all your gradient bitmaps with small, fast vector shapes. (Do it!) Never, EVER upgrade a client's file to 7 without thoroughly backing up all your prior file versions, and do not do it if you are under a time crunch unless you are a bona fide guru, or John Dowdell happens to be your next-door neighbor. One thing you will find nice about 7 is that some older files will actually be reduced in size. Of course, some will not. 1. Updating movies via SaveMovie seems to work. If it does not try setting the updateMovieEnabled to TRUE before trying to saveMovie or saveCastLib; in Dir7 you had to issue the save call twice in succession to make it work. I have not experimented with it yet in 702 so don't know if that was fixed. SaveMovie and saveCastLib will not work on DCR files, but they didn't in D6 either. ==== 2. Something introduced with 6.5 that persisted, and which I do not like: Sprite overlays. They can be turned off by unchecking {menu} View --> Sprite Overlay --> Show Info and {menu} View --> Sprite Overlay --> Show Paths While I suppose the paths are good to be able to see from time to time, I'm not sure why the info stuff is there. It doesn't display anything you can't get from the score. And since I'm more interested in graphical layout onscreen than anything else as far as the actual stage is concerned, I find the overlays to be overridingly distracting. Having them ON by default on install is not, IMNESHO, desirable. ==== 3. Both the Paint and Vector Shape windows close regularly on saves, and they do not reopen automagically when you load a document or begin a new one. This is frustrating but, sigh, survivable. ==== 4. D7 author loads much faster. Like the site? Buy the book! Director 8.5 Shockwave Studio: A Beginner's Guide by Warren Ockrassa, published by Osborne-McGraw/Hill; preview it now! |