[
Quote:
Actually that's encapsulation -- a design decision that any object should only be manipulable using its own methods. It's relatively "safe", but sometimes a fella just wants to use good old-fashioned addition on a component he understands.



you refer to :
Camera.main.transform.Translate(move*Time.deltaTime);

Maybe I misunderstood what you said
Do you mean that the above code is a typical example of an object being manipulated by its own methods ?
If so, nope
It is the direct opposite

In the above code the object is "transform" which is an object of the class "Transform"
the class Transform contains the method Translate()
Unity instance the object "transform" in the background for you

"Camera" is a redundant term you could even omit it

This an example of component based programming

Many 3dgs users find Unity easy to use due to the fact that also 3dgs is an essential "components based " engine

an "Action" is actually a sort of component

The engines you are speaking of are for example Truevision or Leadwerks or Esenthel

Personaly I dont like the ( Unity and 3dgs ) programming style but they have a great advantage over the other ones

They are natural "multitasking" engines , in other words you dont have to code your own threads
This is very important in game programming since the programm must continuosly switch among differnt routines
This is not the case for example of a word processor

In conclusion all modern engines are OO
The main diffrence is between :
Components and non components based engines

The former are (maybe) more efficient the latter more intuitive



Last edited by AlbertoT; 09/16/11 22:00.