zoukankan      html  css  js  c++  java
  • cocos2d-x 2.1.2 bug发现

    1.在做屏蔽触摸时发现

    extensions中的CCScrollView类

    void CCScrollView::registerWithTouchDispatcher()
    {
    CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, false);
    }
    应该改成
    void CCScrollView::registerWithTouchDispatcher()
    {
    CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, getTouchPriority(), false);
    }

    2.tile map 不支持获取折线点

    CCTMXXMLParser.cpp
    Line 677
    else if (elementName == "polyline")
        {
            // find parent object's dict and add polyline-points to it
            // CCTMXObjectGroup* objectGroup = (CCTMXObjectGroup*)m_pObjectGroups->lastObject();
            // CCDictionary* dict = (CCDictionary*)objectGroup->getObjects()->lastObject();
            // TODO: dict->setObject:[attributeDict objectForKey:@"points"] forKey:@"polylinePoints"];
            // find parent object's dict and add polygon-points to it
            CCTMXObjectGroup* objectGroup = (CCTMXObjectGroup*)m_pObjectGroups->lastObject();
            CCDictionary* dict = (CCDictionary*)objectGroup->getObjects()->lastObject();
    
            // get points value string
            const char* value = valueForKey("points", attributeDict);
            if(value)
            {
                CCArray* pPointsArray = new CCArray;
                // parse points string into a space-separated set of points
                stringstream pointsStream(value);
                string pointPair;
                while(std::getline(pointsStream, pointPair, ' '))
                {
                    // parse each point combo into a comma-separated x,y point
                    stringstream pointStream(pointPair);
                    string xStr,yStr;
                    char buffer[32] = {0};
                    CCDictionary* pPointDict = new CCDictionary;
                    // set x
                    if(std::getline(pointStream, xStr, ','))
                    {
                        int x = atoi(xStr.c_str()) + (int)objectGroup->getPositionOffset().x;
                        sprintf(buffer, "%d", x);
                        CCString* pStr = new CCString(buffer);
                        pStr->autorelease();
                        pPointDict->setObject(pStr, "x");
                    }
                    // set y
                    if(std::getline(pointStream, yStr, ','))
                    {
                        int y = atoi(yStr.c_str()) + (int)objectGroup->getPositionOffset().y;
                        sprintf(buffer, "%d", y);
                        CCString* pStr = new CCString(buffer);
                        pStr->autorelease();
                        pPointDict->setObject(pStr, "y");
                    }
                    // add to points array
                    pPointsArray->addObject(pPointDict);
                    pPointDict->release();
                }
                dict->setObject(pPointsArray, "points");
                pPointsArray->release();
            }
        }

    3.编辑器的UISlider在程序加载初始化时会产生一个内存泄露,cocos2dx version 2.2.1

    在GUIReader.cpp的WidgetPropertiesReader0300::setPropsForSliderFromJsonDictionary方法的最后一行加上CC_SAFE_DELETE(progressBarDic);
  • 相关阅读:
    Android 数据库框架 DBFlow 的使用
    Android进阶AIDL使用自定义类型
    Android进阶之AIDL的使用详解
    RecyclerView实现拖动排序和滑动删除功能
    RecyclerView的刷新分页
    RecyclerView 的 Item 的单击事件
    RecyclerView 的简单使用
    AutoCompleteTextView的简单使用
    Spinner的简单实用
    黎曼猜想
  • 原文地址:https://www.cnblogs.com/hewei2012/p/3398840.html
Copyright © 2011-2022 走看看