Archive for August, 2006
Tom Higgins posted in his blog that he’ll be leaving his position at Adobe next week. In the post Tom said Adobe tried to keep him with the Director/Shockwave team, but he is ready to head in a new direction.
Several new members of the Director/Shockwave team were introduced. I hope they are ready to hear all the varied opinions from us crazy developers, and that they can be as energetic and communicative as Tom has been over the past years.
Tom, thanks for putting years of energy in to Director! May your next chapter be fun, exciting, and successful.
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut.
— Albert Einstein (1879 – 1955), Observer, Jan. 15, 1950.
August 28th, 2006
In DirMX 2004 the ability to have scripts that make use of Javascript rather than Lingo was included. Although I’m from a Lingo background, I have found a few things that are much simpler to do in Javascript.
Lingoworkshop discusses Javascript in Director in terms of dealing with text and encryption. In my line of work one of my big concerns is display of numbers. Just like text, Javascript can help out with this.
In Lingo I’m sure you are used to seeing things such as this in the message window:
the floatPrecision = 4
put 3/4
-- 0
put 3./4
-- 0.7500
The first example is due to division of integers. In a math class 3/4 should not be equal to 0. In the latter example you are left with extra zeros due to the floatPrecision. In both cases I wouldn’t want my output text to show either of those values. I’d really like it to show 0.75.
Along comes Javascript. If you flip your message window over to Javascript you can type the following:
eval(3/4)
0.75
eval(3/5)
0.6
eval(3/7)
0.42857142857142855
This looks much better to the part of my brain that thinks in math. Using eval()
makes getting simple expressions for display relatively easy. In Director there are ways to get these nicely formatted numbers, but nothing quite as quick as using the Javascript (from a coding point of view, I’ve never done any tests on the speed of this Javascript within Director).
One real world example where this can be used is in a basic calculator. In this particular case I did a search for “javascript calculator” and found many different implementations of Javascript for this purpose. I took the code and made a few modifications, added a few buttons, and one behavior (in Lingo) to deal with keys getting hit, and the final product can be used to do your taxes…or at least divide 3 by 4 with a nicely displayed number.
Click to view example (pop up window)
Download this example (zip file, 100k)
August 27th, 2006
Back in 1996 there was an After Dark (I think) screensaver that morphed vector-like figures from one Olympic sport in to another, such as swimmer to a volleyball player. If I had the energy/time I’d look around on a backup CD for that one just to grab an image (if of course I could get OS8 or 9 up and running). Screensavers have mostly faded away with the exception of that really cool spinning 3D RSS Visualizer and the iTunes cover art on OSX. Anyway (enough reminiscing), I never forgot that screensaver and loved how things morphed.
When vectorShapes made it in to Director 7 I immediately started using them. They made such nice anti-aliased lines and curves (or is that aliased…which ever is the pretty one). For making graphs and such in math and science they are unbelievably useful.
One issue that many Director users have when first starting to use vectorShapes is when the registration point seems to shift around as you change the vertexList. There are proper things to do, but this covers a little trick that I use. One of the first things I noticed is that you could have two vertexPoints in your vector, and if they were less than 0.5 pixels apart that line wouldn’t show up in the vectorShape member. Nifty!
If you use this fact you can draw an invisible line in one corner of a rectangle, and another invisible line in the opposite corner (using the #newCurve feature of vectorShapes). You can then start adding any new shapes you want. Just be sure you never have a point that goes “outside” your rectangular region.
In this example I set up several key data sets that will be my “shapes” that I will morph. In this case I just used 4 points. I do a few loops to move them from one shape to the next (by extrapolating between the current shape and the one it is morphing towards). When it gets to the final shape it starts working back to the first shape (and vice versa). One thing I do is flip the y value in sign before I add the data to the vertexList. In science I always need a positive value of y to be upward (otherwise the world would be upside down!).
There is a much more complete article on Director Online that covers a lot of the morphing behavior, so jump over there for some code that is a bit cleaner than mine 🙂
Click to view example (pop up window)
Download this example (zip file, 28k)
August 22nd, 2006
For the first time since 1999 I’ll be heading off to Adobe MAX in Las Vegas in October. They don’t have a single Director session, but hopefully a few of us Director folks can get together and do some chatting. If we are lucky, maybe we’ll get a look at an early version of the new and improved Director that will be released next year. I’m also looking forward to CS3 for Intel Macs getting released, so maybe they’ll give us a sneak peek at those.
I’m planning on learning a bit of Flash/Actionscript 3 and CSS while I’m out there. If there are any sessions related to photography and workflow sort of things I’ll look in to those.
Hope to meet up with some of you other Director people while I’m out there.
August 12th, 2006
Like many other Mac zealots I sat around with live text/image feeds from MacRumors (plus a few other sites) yesterday as Steve Jobs gave his sneak preview of OSX 10.5 (aka Leopard). The two things that got my attention (besides the new Mac Pro) were the backup feature of called Time Machine, and the inclusion of virtual screens called Spaces.
Both features sure look pretty.
I’m wondering how well Director will work with both of these. Currently I use virtual screens all the time. Sometimes I use Desktop Manager, and other times I use the more recent product of VirtueDesktops. Both are products are donation ware. Both have minor issues when using programs such as Director due to the fact that there are so many individual little windows that can float around, but even with the bugs the virtual world is high on my list of necessities. Combining all this with Expose will be even more fun.
The funniest part of the Time Machine was pointed out by a reader (Christian Kent) of Macintouch:
They demonstrate ‘lost contacts’ in the Address Book app, by doing a
search for the name ‘Rose’. They say that Time Machine ‘can even
reunite you with old friends’. This can’t be a coincidence — the most
famous time traveller on TV, Doctor Who, has just stopped travelling
with his companion, Rose, a month ago.
I loved the new season of Dr. Who. I can’t wait until the Season 2 DVD’s are released.
August 8th, 2006
Bruce Chizen, the CEO of Adobe, was interviewed by the New York Times this past weekend. The Shockwave plug-in was mentioned. I find that a rather positive thing, since no one from Adobe/Macromedia had mentioned Shockwave in recent years, and I often wondered if they were still aware of it. From the interview:
Q. You recently announced a partnership with Google, which is in a fierce battle with Microsoft in the Web search market. Was this a case of two players joining forces?
A. It had nothing to do with either of our relationships with Microsoft. It just made a lot of sense. We have significant reach to the user if you look at the Shockwave client, the Adobe Reader client, the Adobe Flash Player client, and Google wanted to have access to those customers.
Although I enjoyed that snippet the first paragraph of the article referred to “Adobe digesting Macromedia.” I don’t know if I’d like to be digested…
August 8th, 2006