【creator1.7】瓦片地图对象多了"gid"属性

creator 1.7.0
jsb_cocos2dx_auto.cpp文件
js_cocos2dx_TMXObject_getProperties(se::State& s)方法中cobj对象多了一个"gid"属性,这个属性应该是不存在的,会导致这个方法总是输出undefined. line:35081
麻烦大佬看看这个问题,"gid"应该是地图瓦片的属性,TMXObject对象没有吧?

会报错"js_cocos2dx_TMXObject_getProperties : Error processing arguments".

自己去试试 这个GID 是不是你说的GID

这个方法是CCTileLayer类的,CCTileLayer是有GID属性的.
但我说的是TMXObject类,这个类并没有GID属性

class CC_DLL TMXObject: public Ref
{
public:
    TMXObject(ValueMap objectInfo, TMXMapInfo* mapInfo, const Size& groupSize, const Color3B& color);
    virtual ~TMXObject();

    inline const std::string& getObjectName() { return _objectName; };
    inline void setObjectName(std::string& name) { _objectName = name; };
    
    Value getProperty(const std::string& propertyName) const;

    inline const ValueMap& getProperties() const { return _properties; };
    inline void setProperties(const ValueMap& properties) { _properties = properties; };
    
    inline TMXObjectType getType() { return _type; };
    inline int getId() { return _id; };
    inline uint32_t getGid() { return _gid; };
    inline Vec2 getOffset() { return _offset; };
    inline Size getObjectSize() { return _objectSize; };
    inline bool getObjectVisible() { return _objectVisible; };
    inline float getObjectRotation() { return _objectRotation; };

    inline Node* getNode() { return _node; };
    inline const Size& getGroupSize() { return _groupSize; };
    
protected:
    TMXObjectType _type;
    std::string   _objectName;
    Vec2          _offset;
    Size          _objectSize;
    uint32_t      _gid; // 看是有gid属性的。
    int           _id;
    ValueMap      _properties;
    bool          _objectVisible;
    float         _objectRotation;

    Node*         _node;
    Size          _groupSize;
};

对应cpp层的 TMXObject 的成员中,是有这个属性的。

是因为我用的地图编辑器版本不对吗?导出的文件里TMXObject成员没有gid属性.用的是Tiled地图编辑器 1.0.3版本

我觉得这个问题,跟gid没有直接关系。

我猜测你是用1.7.0正式版,那么参考一下这个PR:

https://github.com/cocos-creator/cocos2d-x-lite/pull/996

估计能解决你的问题。

或者你用1.7.2 beta 试试。

1赞

对,用的是1.7.0正式版.这个办法可以完美解决我的问题,谢谢大佬:14:

1赞

这个问题已经修复了,麻烦试试 1.7.2 beta