求助~用代码自定义widget控件不显示,在线等

因为项目需要,我使用lua代码自定义一个类型为widget的控件,但是完成后,也没有输出错误,但是在界面上也没有显示我自定义的widget
求教是哪里出问题?
或者能给出一个用lua脚本自定义widget的代码示例吗?谢谢各位大神
今天在线等

@
http://www.cocoachina.com/bbs/u.php?action=feed&uid=183396

很简单的代码,代码都执行了,print 输出都很正常,但是就是看不见控件,绘制数为1,好像都没有绘制出来,求教 谢谢

添加到场景上了吗?有代码吗?

这段代码是当时自己测试的时候写的,所以可能有不对的地方,还请谅解

代码已经贴上,帮我看看好吗?谢谢

你有lua的binding吗?脚本语言基本是不会报错的。

显示问题搞定了,但是现在又有新的问题。
我定义的ICON是一个widget的类型。现在没有办法触发 触摸回调的回调函数
settouchEnable和回调(直接调用别的button能用的回调)都写好了,还是不行,请教是widget开启回调有什么特殊方法和属性吗?

@Evolution_
显示问题搞定了,但是现在又有新的问题。
我定义的ICON是一个widget的类型。现在没有办法触发 触摸回调的回调函数
settouchEnable和回调(直接调用别的button能用的回调)都写好了,还是不行,请教是widget开启回调有什么特殊方法和属性吗?
版主大神快来救命啊,今天要交模块

用addTouchEventListener

建议你看看lua-tests里面都是详细的示例,能帮助到你。

如果这个有效果的话,我就不用这么麻烦了。
我用的cocos2dx 3.0版本,您要不写个简单的例子试试?如果成功了,能把例子发上来吗?谢谢

lua-test里没有这样的例子,而且确实有问题,麻烦版主帮忙看下吧 谢谢

cocos2d-x-3.0/tests/lua-tests/src/ClickAndMoveTest/ClickAndMoveTest.lua

cocos2d-x-3.0/tests/lua-tests/src/CocosDenshionTest/CocosDenshionTest.lua

你可以参考下这两个文件中的监听器
local listener = cc.EventListenerTouchOneByOne:create()

最好还是用addTouchEventListener,建议按自定义类的流程查看一下,应该有东西遗失

自定义类的流程是在哪里?没有看到呢

就是因为这个用不了,我才发愁呢
而且要交模块了,现在碰到这个问题 我才郁闷
自定义能触摸的控件的流程在哪里,抱歉里我没找到

你好,CocoStudio支持的自定义控件是基于widget类型的。

根据你的代码:
Icon = class(“Icon”, function()
return cc.Node:create()
end
)
来看,你这个继承于ccnode类型。

版主能不能辛苦几分钟自己写一个就明白了,有可能是我缺失东西,也有可能是代码方面的bug。你简单的写一个出来,就清楚到底为什么了。我从昨天开始问到现在了,本来很简单的时候,到现在都弄不清楚,给一个示例代码,既能帮助我又能帮助后来的人

那个早就已经改掉了,已经继承与 ccui.widget类型了

还有那个代码是有问题的,请不要看那个代码了

那个代码已经修改过了,现在的代码是这样的

Icon = class(“Icon”, function()
return ccui.Widget:create()
end
)

Icon.__index = Icon
Icon._bg = nil
Icon._dd = nil
function Icon:createIcon()

local Icon = Icon.new()
Icon:initIcon()
return Icon

end

function HeroIcon:initHeroIcon(HeroIconInfo)
self._bg = ccui.ImageView:create()
self._dd = ccui.ImageView:create()
self:addChild(self._bg)
self:addChild(self._dd)
end

临时写的,可能略微有点问题

这个是因为我继承ccui。widget没有成功以后,同事让我继承ccnode试试,然后也没有效果,所以才变成这样,忘记改回来了 抱歉