I've been gathering some guidelines to writing proper class documentation in Actionscript. This is so basic stuff but anyway it helps to have it written down somewhere. Here's what I have so far as general guidelines:
Use ASDoc block comments (Ctrl+Shift+D in Flex Builder).
Write in English.
Use a $Id$ svn/cvs keyword so everyone knows directly who did the last change on the file.
If importing to COM, write an example of usage.
Favor the use of getters and setters instead of public vars/const.
In the source code use the following order to keep things organized:
The flash.system.System class in Flex 3 SDK beta 3 has a new gc() static method that forces the garbage collection process (it works for Flash Player debugger version only). Previous to this method the only known way to force the garbage collection was the localConnection hack so this is good news.
Just saw the news about the new Flex Builder public Beta 3 and I must say I'm anxious to get my hands on it. I've been working with the previous beta 2 and suffering from the slow compile/refresh times that others have also observed. But since it was a Beta we couldn't really complain, could we?
This will be the last beta prior to the launch of Flex Builder 3 and Adobe promises an overall quality and performance improvement. The Matt Chotin's beta feature overview article is the place to go to read about what's new and I'm not saying anything else until I get my hands on this baby.
If you've been out of the loop or simply too busy to check it out, Flex Builder is basically a commercial programming environment for Actionscript programming that has been growing in both popularity and features.
Inside the Papervision3D source, besides existing an AS2 and AS3 version, there are five derivate branches: MaterialsRestructor, Phunky, ascollada, frustrum and timk_frustum. I decided to research a bit about each one and write about what I founded..
The most important of these branches is the one called Phunky. It is the branch that will soon became the 2.0 version of Papervision3D, which in the SVN trunk is now tagged Beta 1.7 (dated 20.08.07). So, if you're using trunk, you should expect only bug-fixes. It's a bit different from other open-source projects where trunk normally means the latest revision of the project. For Papervision3D, you can think of trunk as a stable version (whatever that means for a software that's in Beta).
Someone said on the list that "switching from trunk to Phunky shouldn't break anything (doesn't impinge on the API) but should net you a performance increase".
MaterialsRestructor was a branch created to test code regarding Materials. Once changes are tested the most likely is that they go into trunk or Phunky.
I don't know much about the 'ascollada' branch besides the fact that it was created by Tim Knip and that he tries to maintain it in sync with ascollada, a actionscript library for parsing COLLADA files. I've tested loading some COLLADA files with Beta 1.7 and it works fine so I don't have the need to use this branch yet but Ivan is using it (the DEA class), so he might have something to add here.
The 'frustum' (definition) branch has a 'BVH mocap importer class' with a beautiful sample here, but I was unable to find the real purpose of this branch. You can check the examples folder for the sample sources.
'timk_frustum' is a branch that appeared when Tim Knip put up for testing a new FrustumCamera3D, in early August 2007. This class is now also at the 'frustum' branch.
And that's it. If you know more about this and want to share please do. Thanks.
Update: John Grden posted a comment explaining a bit more about the branches, thanks!
Till recently I was using TortoiseSVN to do version control of my projects. I decided then I wanted to integrate SVN into Flex Builder and do all the svn commands from there directly. In the end it hasn't hard at all, I just followed the instructions from Ben Bishop's post.
Something me and others noticed here is that, since Flex Builder copies all the project root files and folders into "/bin", including the .svn directories, adding the "bin" directory to the repository will cause later problems.
A lot of people have posts about this and so nothing really new here but I wanted to write down what worked (and is working) for me.
Today I had my first experiments with Papervision3D and after some time playing around I wanted to try having a double-faced Plane() with a different material on each face.
Its likely that a better way to do this exists, but one way to emulate a double-faced Plane() is to have a Cube with depth = 1, and hiding all but the front and back faces. Here's a and the code.
The hint to do this was from ldoru and the car in the images too!
 Update: I would not longer use such an approach to achieve a double-faced Plane() with a different material on each face. I would recommend using a DisplayObject3D with two normal one-face planes inside it.
We needed our Flash application to be capable of executing VoIP calls. I remember Skype had a developer API and after some digging I ended up coding a C# application that receives messages from the Flash app via a socket and controls Skype accordingly via the Skype4COM wrapper.
There was already a C# example available at the Skype4COM page that unveiled much of the works involved. I just added a socket server and a configuration XML file for skype dialnumber I wanted and the port the application opens and the Flash app has to connect to.
The attached C# code shows how the application can attach itself to Skype, receive event notifications and control it via the commands provided by the API.
+ Help the community
+ Explore the Flash platform
+ Create a better world
+ Research and play
Startups
We're looking for stories about startups using Flex/Flash technology. Drop us a quick e-mail or mention it to us via our Twitter account @dreaminginflash, thanks!