Game Development Reference
In-Depth Information
What you get with Ref
With Ref you get managed objects. This means that Ref derived objects will have a refer-
ence count property, which will be used to determine whether an object should be deleted
from memory or not. The reference count is updated every time an object is added or re-
moved from a Cocos2d-x collection object.
For instance, Cocos2d-x comes with a Vector collection object that extends the function-
ality of the C++ standard library vector ( std::vector ) by increasing and decreasing the
reference count when objects are added and removed from it. For that reason, it can only
store Ref derived objects.
Once again, every Ref derived class can be managed the way things used to be managed in
Objective-C before ARC- with retain counts and autorelease pools.
C++, however, comes packed with its own wonderful dynamic list classes, similar to the
ones you would find in Java and C#. But for Ref derived objects, you would probably be
best served by Cocos2d-x managed lists, or else remember to retain and release each object
when applicable. If you create a class which does not extend Ref and you need to store in-
stances of this class in a list container, then choose the standard library ones.
In the examples that follow in this topic I will code primarily from within the framework,
so you will get to see plenty of examples of cocos2d::Vector being used, for instance,
but I will also use a std::vector instance or two in some of the games.
Search WWH ::




Custom Search