cocos-engine
cocos-engine copied to clipboard
Tiled文件对象层属性读取错误
Cocos Creator version
3.8.4
System information
Windows10
Issue description
<objectgroup id="2" name="Object">
<properties>
<property name="Start" type="bool" value="false"/>
</properties>
<object id="32" name="SavePoint" x="480" y="2040" width="120" height="120">
<properties>
<property name="Start" type="bool" value="true"/>
</properties>
</object>
</objectgroup>
在读取属性 property 时调用 getElementsByTagName 会得到所有后代节点中的匹配元素。因此,在读取 objectgroup 的 properties 节点时,如果子节点 object 也有 properties 节点,则会将 object 的 propertie 覆盖到 objectgroup 上,建议改为querySelectorAll(':scope > properties')。
问题 2 在读取 object 的 properties 时,会直接将 property 的值覆盖到 object 上。应将这些属性值存储在 properties 字段中,和其他地方保持一致。
Relevant error log output
No response
Steps to reproduce
No response
Minimal reproduction project
No response
@Jerry457 是否有测试用例 来验证这个问题?
@Jerry457 是否有测试用例 来验证这个问题? test.zip
这个文件里object和objectgroup的都有自定义变量test,object的值会覆盖objectgroup的值,并且在object上的自定义的test2也能在objectgroup上读取到