So been developing my game for nearly 2 months now in cocos2d, have upgraded the framework three times. I would really like some advice on when Scenes should be used, and Layers, etc. Right now I am using a Scene for each major section in my game, each scene consists of multiple layers, and each layer consists of Sprites, I have also subclassed Sprite and extended it, and Subclassed that version to extend it even further. Now I am a very seasoned developer in the Microsoft world and have a very detailed level of knowledge about OOP principles and good design strategies. But I often struggle with best practices in this new world. Firstly I have not been using @selectors to do my transitions and I have no been using tick, instead I have been doing everything based on events, which I now know I need to redo since everything should be done with tick, such as tracking button clicks etc. is that correct? For instance on ccTouchesBegan I track buttons clicked, in the tick I act upon those touches, is that considered better than acting immediately inside the ccTouchesBegan event?
Additionally, currently my scenes aren't doing much at all except loading the layers, the layers handle their internal resources and disposing, etc. Which leads me to encapsulation but I also understand that in game programming performance overcomes OOP design in some cases, so my question would be is that an ok thing to do? So far I am having with loading the sound manager as it hangs the UI for a bit while it loads. I have found a solution with using the UIKit thread to pareallize that activity so it wont hang up...
Long post but I think a lot of people are wondering these same things, any thoughts from you guys? I know a lot of you have spent a lot more time with cocos2d-iphone than I have so I am still trying to get my bearings...Getting it to work is not enough for me, I need to get it to work and do it right!