触摸只在一开始的初始画面有效
当我的背景随人物移动后,新出现在界面中的背景,全部点击无效,控制台Console.log查看也没有反馈坐标,我想问问这是咋回事呢,又如何解决呢。
可能是你监听出了问题
我想问问,现在2.x版本的creator里还有这种触摸监听的方法么,我都是用touchstart的,
event: cc.EventListener.TOUCH_ONE_BY_ONE,
关于触摸的文档资料 还有哪里有,我学习学习去
会不会是你新背景的层次问题,屏蔽了一些button节点?
我的层次结构是,1,背景,2角色,3,两个摄像机,一个看角色,一个看背景
触摸事件注册在角色节点上,
会移动的是 1,角色,2看背景的摄像机
现在问题就出现在角色移动过了屏幕中间后,摄像机带着背景跟着角色移动,角色保证一直在屏幕中间,这个时候新的背景出现后,点击到上面就没有用了,如果是层次问题那应该放到那个层次里呢。
如果你的触摸事件是注册在角色上的,比如说屏幕大小为640960,角色长宽是1010,角色在屏幕中间,坐标是(320*480)。点击屏幕中间,触摸点坐标为(320,480)
那么当角色没有移动时,是在触摸区域内的;当角色移动到下一屏时,角色的坐标实际为(960,960),这时触摸点的坐标还是(320,480),没有在触摸区域内,因此不会触发touchstart。
要注意的点:
摄像机并不会移动节点
触摸点的坐标并不会因为摄像机的移动而自动进行坐标系的变换,取到的是屏幕上的坐标,不等同于背景节点中的坐标
哦 原来是这么回事,我还想着把 触摸事件注册到摄像机节点上试试呢,
那应该把触摸放到什么节点上,才能让角色移动后的坐标,触摸也能出发触摸start呢
注册到角色的parent上面试试
诚如所言,我的角色是个7595的节点,父节点是个00的节点,这个节点父节点就是Canvas了,将触摸放到父节点中,还是角色移动后,出现的新的背景部分,触摸不上,log不返回任何坐标,还是触摸不上
= =!你的父节点,那个0*0的节点,把大小设置一下,注册到这个父节点上
谢谢,我总结一下列几个方案,都实验一下。再把触摸事件文档重新看一遍去