Technically, it's not the freeware aspect but the open source aspect that allows you to get Greenfoot's source. There's a link on the download page. You are within your rights to modify the source code to Greenfoot, but we cannot offer any support for doing so.
As nccb says you are free to modify the source code as long as you follow the relevant license restrictions.
We can't promise support, but if you have occasional questions I may be able to answer them. There is also a small amount of documentation in the source bundle. However, the code is complex and you should think hard about whether you really need to do this. If you just want a float/double based co-ordinate system you can build this on top of the existing Greenfoot system, as in for example the SmoothMover class.
@nccb @davmac
Very thanks for replying. What I want to do is:
1.float/double co-ordinate system
2.add a "render" method for Actor class, like act method, it can be override in subclasses, so I can maker cooler visal effects.
3.add a "Parent - Child" node relationship for the Actors.(I'm not sure how to say it in English, but since you are familiar with 2D game programming, I hope you can understand)
Since then, if a parent node was moved/rotated, the child nodes would followed that. In the current project, I realize this effect by overriding the setLocation, setRotation method in a subclass. But that makes things complicated.
I'v just learned about Greenfoot3D, just wondering, can I work out a similar thing?
Exporting the functions above into a jar, and once you replaced it into the Greenfoot software, I can have them in the Actor class.
The warning still exists, but Greenfoot runs now. It seems I have to add the AppleJavaExtentions.jar to the Java Build Path of the Greenfoot project.
PS: I'm on Windows
And what is the full name of "ibsp"?
Yes, I think we could add rotation == 180 there (it's only a shortcut anyway). I can't remember what the i stands for, but bsp is binary space partition -- a technique also used in 3D games like Doom.