cocos2d-1.0.1-x-0.12.0 release

By zhangxm Posted 2012-03-05 05:41 Comments 7


Primary features

  • support for bbndk2.0
  • build cocos2dx as a staic library, make it more stable on Android, Bada and QNX when using dynamic_cast
  • add CCNotificationCenter
  • make android template supports box2d, chipmunk and lua refer How to create android project with script for usage
  • refactor lua support
  • implement Accelerometer Simulation for Win32

New documents


  • all platforms
    • Bug #925: rename HelloWorld/Resource to HelloWorld/Resources
    • Bug #948: fix a bug that CCMutableArray::getIndexOfObject returns 0 on both “index 0” and “not existing”
    • Bug #951: remove definition of NSMutableSet
    • Bug #961: fix mad behaviour in second stage of CCEaseBackInOut
    • Bug #965: remove some dynamic_cast calling since selector_protocol.h was removed
    • Bug #967: fix a bug that PVR Textures cannot be reloaded after GL context lost
    • Bug #986: add init() funciton in CCMenu class
    • Feature #952: make CCLabelBMFont supports other languages, include Chinese, Korean, Janpanese and so on.
    • Feature #972: add Support for CCNotificationCenter
    • Refactor #933: refactor CCUserDefault
    • Refactor #958: move the implement of SelectorProtocol to CCObject
    • Document #975: add comment for CCTMXTiledMap::getMapSize and more methods
  • iOS
    • Bug #946: fix a bug that can not load HD image for both Retina and Normal correctly
    • Bug #762: fix a bug that CCLabelTTF is in different position (higher) than in previous version on iphone
    • Refactor #985: remove template for xcode3
  • android
    • Bug #947: fix a bug that long chinese string causes closed loop on android
    • Bug #950: fix a crash when touching the screen because of RTTI
    • Bug #954: fix a bug that accelerometer axes inverted on android tablet when setting orientation to portrait
    • Bug #957: fix a bug that when running textInputTest, application enters background after input character and click back key on android devices
    • Bug #959: fix a bug that get wrong multitouch id
    • Bug #964: fix a bug that can not show whole charactor
    • Bug #971: fix dynamic_cast error on android
    • Bug #1008: fix a bug that missing “return” in SimpleAudioEngine::getEffectsVolume() method on android platform
    • Feature #982: make android template supports box2d, chipmunk and lua
    • Refactor #970: use modules in the Android NDK build
  • bada
    • Bug #984: sse static library for cocos2dx project on bada and qnx platform
  • blackberry
    • Bug #960: detect when the application goes and return from background in QNX (Black Berry Playbook)
    • Bug #962: fix some bugs on qnx port
    • Bug #963: fix a bug that applicationWillEnterForeground will be invoked twice when application is launched
    • Bug #968: fix a bug about “Out of bound” in CCFileUtils::getWriteablePath() for BlackBerry
    • Feature #994: add support for bbndk2.0
  • marmalade
    • Bug #995: modify project configure for marmalade port after adding extension support and refactor resource folder
  • win32
    • Feature #969: implement Accelerometer Simulation for Win32.
  • lua
    • Bug #942: fix a crash when invoking CCScheduler:sharedScheduler():scheduleScriptFunc in lua
    • Bug #953: add tolua++ for Mac
    • Refactor #973: Refactor lua support


  • antol

    I’d like to suggest a slight change in CCNotificationCenter, in order to be able to call removeObserver () in the method called on the sent Notification.
    `void CCNotificationCenter::postNotification(const char name, CCObject *object)
    obj = NULL;
    CCArray tempObservers = CCArray::arrayWithArray(m_observers);
    CCARRAY_FOREACH(tempObservers, obj)
    observer = (CCNotificationObserver*) obj;
    if (!observer)

        if (!strcmp(name,observer->getName()))


    2012-03-07 06:52
  • dumganhar

    But if you do an ‘removeObserver’ operation in callback of ‘performSelector’, the removed observer method will still be invoked in the next loop of CCARRY_FOREACH. So we should find a better way.

    2012-03-07 08:24
  • antol

    The simplest way (if I correctly understood):

    CCARRAY_FOREACH(tempObservers, obj)
    if (!m_observers->containsObject(obj)) {


    2012-03-11 09:17
  • GogoKodo

    I like all the new callback systems for scheduler, menu and touch handling. But one thing about the new touch handling that you are forced into using world space coordinates. In my game we want node space coordinates for the touched layer (our layers can move) and it forces me to convert the give x,y in lua into a CCPoint, and also store which layer I’m using (maybe the touched layer could be passed along with the touch location), and then call myLayer:convertToNodeSpace(CCPoint(x,y)). Maybe the touch handling system could be given some more options, to get back either the world space (gl space) or node space x,y from c++

    2012-03-13 16:14
  • GogoKodo

    Also I noticed a minor issue, the CCMutableArray.pkg is missing some of the TOLUA_TEMPLATE_BIND types such as CCStringToStringDictionary* this means that regular CCMutableArray functions like count() won’t work unless you cast your array to something like CCMutableArray<CCObject*>

    2012-03-13 17:33

    @T Mok, Thanks for your feedback. But discussing it in the forum, especially in lua-binding subforum would be better :)

    2012-03-18 12:51

Copyright © 2010 - 2015 Support Email: