At 21:18 +0800 05/01/2002, noelle cheng wrote:
>>Yeah, that'll do it all right. Pause suspends *everything*
>>including frame or stage updates.
>
>What are frame updates?
Any time anything changes on the Stage it's a frame update. When
Director's playback head is doing its frame cycle thing (exitFrame,
etc.) it's a frame update. 'pause' is more or less the runtime
equivalent of clicking the stop button in Director. (Though it's not
quite that either -- think of it as setting the tempo to 0.)
>Is it necessary to redraw the Stage immediately?
Only if you've paused. In general no.
>When is a MIAW backgrounded?
Any time it's not in the foreground. ;) For instance I have a program
that uses a MIAW to present a text editing window to the user. When
that MIAW is in the background (not in use), I don't want it cycling
through its frame scripts. No events are taking place of which it
needs to be aware, and nothing is happening that I want it to analyze
or test. Therefore to suspend all operations taking place in the MIAW
I pause it.
>How does it eat processor cycles?
The MIAW, even if it is not visible, is technically open. You can
send messages to it with tell window, for instance, and it might try
to do the things it normally does when it's open and active (such as
test for and intercept certain keystrokes). You don't want it doing
that partly because you could get interference between the MIAW's
commands and whatever your main movie is trying to do; and partly
because every time the MIAW does something, it takes chip cycles away
from other parts of your program.
>>OOP design is philosophical as much as it is anyhing else and I
>>think I can say with almost perfect confidence that in 50 years it
>>won't even be in use any more. I don't know what will replace it,
>>but something will.
>
>OOP design? What I mean is I know that it is related to parent/
>child scripts so the purpose is to go into complex programming
>isn't it?
No, it's more intended to compartmentalize programming tasks.
Inheritance and code objects and such are part of that and it can be
used for programming of any order of complexity; but the original
idea was to make cookie cutter code. Well, that's fine within a given
program's context, but from program to program you are still making
your cookie cutters by hand.
Ideally programmers would have tools like Lego blocks. Myriad shapes,
sizes and colors, and everything interlocks and can be used in
effectively infinite ways. The way we have things going now, it's
like every programmer has his own set of Legos, and generally cut
from the programmer's own mold designs -- so there's effectively no
way for us to play together. Your Lego blocks won't work with mine,
and vice versa, unless we agree on a standard. We are a LONG way from
having standards like that. ;)
>Actually, I think when you use the word philosophical do you mean
>the way things are being achieved or created and not so much a
>search for a general understanding of the values?
There's no difference between a general understanding of values or
the way things are being done. Things are done a given way because of
general understandings; and general understandings evolved because of
the way things were done. Doing embodies the search for meaning. More
accurately, doing is the answer to the question of meaning.
>>This is why programming can be so unfulfilling, if you want to
>>define your life around your work. (That's not a good idea anyway.)
>>You have to practice nonattachment to what you do. That's a rather
>>difficult concept for many to grasp, particularly the Western mind.
>
>Is this a difficult concept? After all, non attachment to all
>material things is the main thrust of the teachings of Buddhism,
>one of the major religions of the East.
Yes, but it's quite unusual to the Western mind to conceptualize. The
framework here is more supportive of the idea of establishing
personal identity, individuality, and gain over others. There is very
much a push for attachment. The religious base even supports this
with a deeply institutionalized belief in an indestructible soul or
atom of self. When you work from that frame of mind nothing is more
distressing than to imagine your "life's work" as dissolving away to
nothing before you have even died.
>What is the average life span of a program? Not even five years?
Depends. Some programs are not worth keeping more than five minutes.
;) The worthy ones are likely to be upgraded and maintained; they'll
last. Well, they'll last longer. I don't know what the current record
is for longevity but it's probably some component of a UNIX system,
and that would put it at no more than 33 years.
>So I studied about movie scripts for nothing? Is there nothing
>redeeming about them?
I still use them when I need to have a handler of absolutely global
scope. For instance I have a sprite-naming behavior that adds a pair
of functions to Director's suite, 'spriteName' and 'getName'. I acces
them as though they were Lingo keywords. The only way to do that is
to create and use a global movie script.
You can also use movie scripts to instantiate and maintain parent
object references. This makes objects super-global, available to
every movie running under that projector session, even if it's a MIAW
or something called by 'play movie' or what have you.
All script types -- parent, behavior and movie -- are absolutely of
merit. Each has its purpose and value. But I believe that a
de-emphasizing of movie scripts is not the worst idea; that is,
rather than a movie script being the *first* thing a relative novice
is taught, perhaps it could be the second, after behaviors.
> Do you recommend then that I should read module 12 first? Then
>module 13 , and work my way backwards?
No, the progression's suitable I think.
>To use it, I go to the Macromedia folder from C:\Program files. I go
>to the Director 8.5 folder to locate the Xtras folder. I place the
>FileXtra3 folder into this folder.
Yes.
>I close this then I return to the Director program. When I open up
>Xtras which is between Control and Windows, it is not there.
You won't see it there. Items in the Xtras menu are generally meant
to be things you insert into your Cast, such as (perhaps) a
transition Xtra. But the Xtra itself is present in memory, ready to
be instantiated and used.
To see what Xtras are present, you can type in the Message window:
showXlib
You'll generally see quite a list:
-- Welcome to Director --
showXlib
-- XLibraries:
-- Xtra: Mui
-- Xtra: fileio
-- Xtra: PRegEx
-- Xtra: FileXtra3
-- Xtra: CastControl
...etc.
To find out what a given Xtra can do -- whether it has an interface
you can address via Lingo -- you use the 'interface' command and
reference the item:
put interface ( xtra "CastControl" )
Then you get terse notation on usage:
put interface ( xtra "CastControl" )
-- "xtra CastControl
-- by Paul Farry([EMAIL PROTECTED])
new object me
-- CastLib Maintenaince Handlers --
* AttachCastLib string name, string path -- Attaches an External
Castlib to the current movie
* DetachCastLib any castlib -- Detaches an External
Castlib from the current movie
"
Usually the Xtra will come with documentation that goes into more
depth than the 'interface' return. 'interface' is really meant to be
notes more than an exhaustive description.
--
Warren Ockrassa | http://www.nightwares.com/
Director help | Free files | Sample chapters | Freelance | Consulting
Author | Director 8.5 Shockwave Studio: A Beginner's Guide
Published by Osborne/McGraw-Hill
http://www.osborne.com/indexes/beginners_guides.shtml
[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/lingo-l.cgi To post messages to the list, email
[EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for
learning and helping with programming Lingo. Thanks!]