Skip to main content

"Developing a New Cell" tutorial series for 0.5 User Preview 1

3 replies [Last post]
Joined: 2006-01-05

I've updated the 4-part "Develop a New Cell" tutorial series for 0.5 User Preview 1. The changes from dev5 were small. Also, I checked in the complete code for the tutorial series in the unstable/ modules directory. When in doubt, consult the code, I test against it, and sometimes I make mistakes transcribing from the code into the tutorials (particularly, I miss some "import" statements). If there is an error in the tutorials, please let me know.

Note that I renamed the tutorial series wiki pages, so please update your links (if you have bookmarks). In fact, since "Creating a New Cell" is a main activity of developers, I created a whole page that has tutorials related to custom Cell types. You can find that here:

Some of the "advanced" tutorials are still under development or need proof-reading, and marked as such.

In terms of changes to the 4-part tutorial series since dev5, there are two to be aware of:

1. In the Cell renderer, in updateShape() method, put all method calls that touch the jME scene graph into an MT-Game render thread. This is necessary because jME is not multi-thread safe. Note that calls in createSceneGraph() do not need to be in an MT Game render thread, because the jME Nodes are not yet part of the scene graph.

2. Since dev5, the method signature of Cell.setStatus() changed to include a boolean flag that indicates the direction the state changes are happening. I add listeners in the RENDERING state (on the way 'up') and remove listeners in the INACTIVE state (on the way 'down'). The 'increasing' flag was added for this reason, actually.

Now that this big task is done, I can move onto other tutorials. I'll keep you updated.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Joined: 2006-01-05

I took a new snapshot of the Property dialog from the tutorial module in NB and updated the text. I removed some unneeded libraries too.

Joined: 2008-06-21


In the first tutorial when loading jars to the classpath in netbeans, there is a group of jars as follows:

# ${wonderland.dir}/core/ext/sgs/sgs-client-0.9.8/lib/sgs-client.jar
# ${wonderland.dir}/core/ext/sgs/sgs-client-0.9.8/lib/sgs-shared-1.3.jar
# ${wonderland.dir}/core/ext/sgs/sgs-server-dist-0.9.8/lib/sgs-server-api-0.9.8.jar

It is my belief that these versions have been updated to *-0.9.10*
Should this be reflected in the tutorials?


Joined: 2006-01-05

Absolutely, great catch! Thanks.