Director Web
'net |
demos |
digest |
extras |
faq |
java |
oops |
shock |
tips |
xstuff |
How to get an answer from DIRECT-L
Date: Sun, 3 Aug 1997 14:14:51 -0700
From: zac <zac@pixelgeek.com>
Subject: How to get an answer from DIRECT-L (long)
So, given that there has been alot of discussion (and pontificating from
me) about the best way to get a response from DIRECT-L I decided to post
my own process.
This is how I try to figure out what the heck is wrong with my code, and
also how to approach new concepts, before I post to DIRECT-L and also
some tips on how to make your post as efficient as possible so that
people will be able to answer your question...or at least read it.
Step 1: Check your code.
So, you have some code that isn't working properly and its driving you
insane. The first thing you should do is look at your code to make sure
that you're not doing something stupid. Everyone does things that they
are ultimately embarrassed about (heck last week I spent two days trying
to fix a problem caused by not including the "me" keyword in a method
call so it happens to everyone) so check your code to make sure that its
actually doing what you think its supposed to.
Common screwups:
- Not making variables global.
- Making variables global
- (in the message window type "showglobals" and see if the variable there)
- Not puppeting sprite.
- Not unpuppeting sprites.
In the message window or the watcher type the puppet of sprite x (use put
in the message window)
- Not passing the correct variable to a handler
- Forgetting "me" in an objects method
- Forgetting the objectRef
- Not making a script a parent script
The easiest way to check these things is to use the debugger and the
watcher. Step through the code and make sure that the assumptions you are
making about the code are true. Are the variables holding the correct
data, are variables even being declared, is the code branching the right
way.
Now, if you haven't been using the debugger before then start. Its easily
one of the most valuable tools in Director. This also goes for the
Watcher window. Both of these tools can help you examine what your code
is doing and help to check that your code is ACTUALLY doing what you want
it to.
Step 2: RTFM
Check the Lingo Dictionary and the online help files to make sure that
the lingo code you are using actually does what you want it to.
Sometimes, you may be using Lingo in an inappropriate manner....keywords
that work on lists and property lists are notorious for generating these
types of errors as they sometimes want/work on very specific parts of
variables.
Also, sometimes keywords will not generate errors, but also not work.
Just because a piece of code will compile and run without errors isn't
any reason to assume that it is free from errors.
While you're reading, look at the "see also" sections to read about
associated Lingo keywords. Perhaps another keyword might serve your
purposes better. Perhaps another keyword might be the thing you actually
want to do. Explore.
Step 3: Net resources.
Stop of at Director Web and look through the DIRECT-L digests to see if
your particular problem has been discussed before. Also, look in the
excellent "Tips & Scripts" section to see if some code has been posted
that addresses the situation you have.
Odds are, the problem you're having has been discussed before. And if it
has, then there is probably a description of the problem and a fix
somewhere in the two above mentioned references.
Step 4: So you want to post to DIRECT-L
When all else fails, post a message to Direct-L...
Step 5: The subject
Make the subject useful. Try to sum the problem up in five or six words.
If your subject doesn't immediately answer the question "What is the
problem" then rewrite it or rethink it. Some problems are a bit more
complex and might not fit into this general rule, but try it first.
Subjects like "sprite puppeting problem", "Quicktime stuttering" and
"soundfadout problem" are much more useful than "why won't this
work!!!!!!", "urgent!!!!" and "newbie question".
Don't put the word "newbie" in the subject. Ever. No-one gives a shit and
it takes up space that could have been used for a more descriptive term
like "Quicktime" or "behaviour". Save the self-denigration for your
shrink.
Don't use all caps. Its just rude.
Don't use 17 exclamation points to try and instill a sense of urgency to
your post. It just makes you look like a twit and it doesn't work because
most of use couldn't care....we've all got problems of our own.
Step 6: The content
First off, describe your machine and OS. Some problems only appear on PCs
and under certain blends of Windows and it makes the process alot quicker
if you mention this first.
Second, describe what is supposed to happen and what does happen.
Include problematic code samples is possible.
If the problem includes external files then mention that.
Describe the file formats. A problem with a WAV might not happen with an
AIF file.
Step 7: Don't expect an answer
So, you posted and you didn't get an answer. The reasons for this might
be; your post got lost in a huge rush of posts, its getting looked at but
people are busy, it just didn't get read for no particular reason.
If needs be, repost the message but just mention in the first line that
you have previously posted this. Being indignant will not get an answer.
Asking why you didn't get an answer will also not help. Sometimes life
is hard and DIRECT-L is no exception. There is no guarantee of a response
to your question and the sooner you realize that the better off you'll be.
Step 8: Keep working.
After you've posted, keep plugging away at the problem. I also find it
helpful to take a break and work on some other code. Times are, you are
looking at the code too much to see that the answer is right in front of
you and taking a break from that particular section (heck even going for
a coffee is a good idea) gives you a fresh perspective when you go back
to it.
Try rewriting the code. Yes, I'm serious. Copy and paste the original
code into a text member and then rewrite it from scratch.
Offer chocolate to the compiler demons (Toblerone is a favourite).
When I read through the slew of posts that I normally get I usually look
for:
- things I immediately know the solution to...things I've had to fix 103 times beforehand
- interesting things. Problems that make me go "Hmmm"
- stuff I'm working on at the moment.
Note, that good subject headers make finding one of these three very easy.
Posts I immediately avoid:
- Newbie.
- stupid subjects (Why won't this work, Help please (even though its polite), Argh!!!)
- insolent posts. people who assume that they should get an answer or are indignant that they haven't received one
- posts that don't have enough info in them.
The UCON97 party/ lecture/ debauchery site
http://www.pixelgeek.com/pg/UCON97/
email: zac@pixelgeek.com
WWW: http://www.pixelgeek.com/pg
WWW: http://www.pixelgeek.com/pg/eyecandy