新入门,今天遇到了个奇葩的问题,研究了一天才发现了根本原因:
给显示对象自定义属性,在延时(异步渲染?)后,自定义的所有属性都变成了nil
代码如下:
-- 定义一个显示对象
local sp = display.newSprite()
-- 定义异步回调函数
function _callback( )
print(sp.name) -- 打印“nil”
end
-- 自定义属性
sp.name = "testSprite"
print(sp.name) -- 打印“testSprite”
local scheduler = require("framework.scheduler")
scheduler.performWithDelayGlobal(_callback, 1)-- 延时1秒后再取值
以上代码的输出如下:
testSprite
nil
这是一个大坑啊,不知情的情况下查了好久,请问这是cocos2dx为了优化性能而作的处理么?
有人可以阐述一下相关信息或给个链接介绍一下?