触摸机制BUG:
添加一个层A, 在A层里添加多个触摸节点,比如UIPushButton, 或自定义的触摸节点
之后在同一帧内将这个层A remove掉,再重新创建层A及其触摸节点,将会随机出现A层内的触摸节点无触摸事件。
cocostudio bug:
没解析百分比参数
import() bug:
import重复引用,这个之前就有人提过,但是没看到解决方案,望解决。
其他吐槽:
UI控件各种难用,各种内存泄漏,各种难扩展。
触摸机制BUG:
添加一个层A, 在A层里添加多个触摸节点,比如UIPushButton, 或自定义的触摸节点
之后在同一帧内将这个层A remove掉,再重新创建层A及其触摸节点,将会随机出现A层内的触摸节点无触摸事件。
cocostudio bug:
没解析百分比参数
import() bug:
import重复引用,这个之前就有人提过,但是没看到解决方案,望解决。
其他吐槽:
UI控件各种难用,各种内存泄漏,各种难扩展。
1.触摸的给个简单样例吧
2.不知道你用的是什么时候的,百分比的解析后面是加上的
3.import其实调的就是require,应该不会重复引用吧
4.UI控件全是用的lua代码,实现时也没有retain,不应该有内存泄漏啊
感谢回复!
我用的是quick 3.3 final. cocostudio 1.6
function test:init()
if self._layer then self._layer:removeSelf() end
self._layer = display.newLayer():addTo(self)
for 1, 10 do
local btn = cc.ui.UIPushButton.new({normal = "aaa.png"}):addTo(self._layer)
end
end
function test:refresh()
self:init()
end
如我在某处掉用refresh,则会出现我说的BUG。
cocostudio:
cocostudio里的坐标百分比勾选,程序改变分辨率后,坐标无变化。
import:
报此类错
error: loop or previous error loading module
1.这段代码我放到ccsloader中的menuscene里作了一定修改
function MenuScene:ctor()
…
cc.ui.UIPushButton.new("GreenButton.png", {scale9 = true})
:setButtonSize(200, 60)
:setButtonLabel(cc.ui.UILabel.new({text = "Use CCSReader"}))
...........
:onButtonClicked(function(event)
app.currentSceneName_ = "CCSSample6Scene"
-- app:enterNextScene(true)
print("to enter refresh") --new add
self:refresh() -- new add
end)
:align(display.CENTER, display.cx, display.cy - 40)
:addTo(self)
self:refresh() -- new add
end
function MenuScene:init()
print(“enter init function”)
if self._layer then self._layer:removeSelf() end
self._layer = display.newLayer():addTo(self)
self._layer:setTouchEnabled(false) --new add,不设置为false,所有事件都会有self._layer接收,其它控件都收不到事件
for i = 1, 10 do
cc.ui.UIPushButton.new({normal = "GreenButton.png"})
:onButtonClicked(function(event)
print("Touch on Button")
end)
:addTo(self._layer)
end
end
function MenuScene:refresh()
self:init()
end
用上面的代码后,点按钮来重复调用refresh,没感觉有问题
2.百分比只在解析时产生作用
3.这个错误是模块重复加载,就要出这个错,能不能给我一段代码,可以出这个错的
3.这个我们在用两个lua文件循环require时会出现,这种属于用法错误吧
嗯 我也遇到了第一个问题!兄弟最后怎么解决的?
不在同一帧内删除创建就可以了
如何控制不在同一帧?
— Begin quote from ____
引用第6楼是是是丶于2015-01-16 09:32发表的 回 5楼(longolder) 的帖子 :
不在同一帧内删除创建就可以了 http://www.cocoachina.com/bbs/job.php?action=topost&tid=281483&pid=1222692
— End quote
用你的方法是可以的!!!!
兄弟能告知下是什么原因导致的这个问题么?
我是直接做了一个延时


对了之前遇到还用了一种方法,就是先新建,再删除。比延时的做法感觉稍好一点。。。