在场景中创建好节点:
![]()
代码里通过cc.find来获取节点:
let button = cc.find("Canvas/TestNode");
button.on(cc.Node.EventType.TOUCH_START, (e) => {
SDKUtils.log("click")
}, this)
但实际运行时报错:
这个有点不太明白,没有父节点的意思么?但是我打印了找到的节点是有父节点的:
求助大佬们帮忙指点下。
在场景中创建好节点:
![]()
代码里通过cc.find来获取节点:
let button = cc.find("Canvas/TestNode");
button.on(cc.Node.EventType.TOUCH_START, (e) => {
SDKUtils.log("click")
}, this)
但实际运行时报错:
求助大佬们帮忙指点下。
你这不是节点报错,应该是sdk报错了
去掉给button绑定的on事件后就能恢复正常,不像是SDK的问题,感觉是节点少了什么东西
不是showAd里报的错嘛?
那你把SDKUtils.log改成console.log呢
showAd是我上边发的代码块所属的方法,实际报错的地方在最后几行:
at window.gameTick ((no filename):1:57280)
SDKUtils.log 我觉得也是这个代码报错的。
SDKUtils.log改成console.log试过了也是不行,点击事件内什么都不做还是不行,好像就跟on事件过不去似的
this去掉
button.on(cc.Node.EventType.TOUCH_START, (e) => {
SDKUtils.log(“click”)
})
这样就好,你这个=>函数,哪来的调用target
问题解决了。
首先这个报错并不影响点击事件,准确的说点击事件是正常进行的,之所以一开始点击无效果就归结于上面的报错,是因为点击事件中没有进行阻止冒泡。既然点击可以正常进行,那报错信息就应该是代码块的其他部分的问题,经检查是给一个未定义的按钮节点设置父节点造成的:
this.buttonNode.parent = this.rootNode;
而这个 this.buttonNode 未定义又是因为自己用 cc.find("Canvas/TestNode") 找到的节点没有赋值过去,应该这么写的:
this.buttonNode = cc.find("Canvas/TestNode")
问题已经解决了,是我的代码逻辑不严谨以及排查问题的优先级不明确导致的,感谢帮忙~
问题已经解决了,是我的代码逻辑不严谨以及排查问题的优先级不明确导致的,感谢帮忙~
之前测试了下,去掉this没啥变化的
问题已经解决了,是我自己的问题,谢谢帮忙啦
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。