Cocos Creator更改底层,点击节点获取路径

Cocos2d-js触摸事件处理
本文介绍了一个用于Cocos2d-js游戏开发中触摸事件处理的方法,特别是如何通过递归方法`sortFun`来确定触摸事件发生时被触碰的游戏节点层级,并记录这一路径。此外,还提供了一个具体的实现示例。

Mac : 右键creator->显示包内容->Contents->Resources->engine->bin->cocos2d-js-for-preview.js

内容 : 

page ->10352

var _touchEndHandler = function(touch, event) {
            var pos = touch.getLocation();
            var node = this.owner;
            node._hitTest(pos, this) ? event.type = EventType.TOUCH_END : event.type = EventType.TOUCH_CANCEL;
            event.touch = touch;
            var arr = [];
            var sortFun = function(node,arr){
                if(node.parent){
                    var name = node.name;
                    if(name == 'baseNode'){
                        arr.unshift(name);
                        return arr;
                    }else{
                        arr.unshift(name);
                        return sortFun(node.parent,arr);
                    }
                }else{
                    arr.unshift('baseNode');
                    return arr;
                }
                    
            }
            var arrSort = sortFun(node,arr);
            var pathStr = arrSort.join("/");
            console.log(pathStr);
            event.bubbles = true;
            node.dispatchEvent(event);
        };

加入名为sortFun的递归方法

baseNode是场景的基准节点

转载于:https://www.cnblogs.com/Clarence2J/p/7452436.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值