[MacRuby-devel] MacRuby and Cocos2D

Laurent Sansonetti lsansonetti at apple.com
Thu Jan 13 17:51:50 PST 2011


Hi Rolando,

You shouldn't need to retain the objects as instance variables to keep them from premature garbage collection. In this case, I assume that the Cocos2D framework has been built with -fobjc-gc (otherwise you would get a link error at runtime), but that it's not fully compatible with the GC techniques yet. Passing the -fobjc-gc flag isn't enough sometimes, and one has to migrate the framework.

Some documentation is available here:

http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/GarbageCollection/Introduction.html%23//apple_ref/doc/uid/TP30001223-CJBGIAGF

Laurent

On Jan 13, 2011, at 5:32 AM, Rolando Abarca wrote:

> hi all,
> 
> I'm having some fun with Cocos2D[1] Mac Version and MacRuby. Some time
> ago I wrote ruby bindings for the iPhone version[2], but MacRuby makes
> those bindings unnecessary (at least for mac).
> So far everything works great! The only problem I'm having so far is
> in cases like this:
> 
> {{{
> some_node = CCSprite.spriteWithFile("some_file.png")
> self.addChild(some_node)
> }}}
> 
> If I do the above, the object will get GCd by the ruby VM (I'm
> guessing), but the object should still live the Obj-C world
> (internally, each Cocos2D node keeps its children in an array, where
> they are retained in the addChild method).
> So far, I'm bypassing this by declaring each child an instance
> variable, but I'm pretty sure there must be another way... Any idea of
> how to overcome this problem?
> Btw: cocos2d works using the old retain/release memory management
> system, even in the Mac version.
> 
> Thanks!,
> 
> [1]: http://www.cocos2d-iphone.org
> [2]: https://github.com/funkaster/ShinyCocos
> -- 
> Rolando Abarca M.
> Games For Food S.p.A.
> http://www.gamesforfood.com
> Phone: +1 (408) 345-5433
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20110113/374b2e1b/attachment.html>


More information about the MacRuby-devel mailing list