cocos2dx 3.2创建精灵优先级

来源:互联网 发布:cms网站系统 编辑:程序博客网 时间:2024/06/06 01:17
//创建一个点击事件
    auto MyListener = EventListenerTouchOneByOne::create();
    MyListener->setSwallowTouches(true);//阻止触摸向下传递
    MyListener->onTouchBegan = [](Touch* touch, Event* event)
    {
        auto target = static_cast<Sprite*>(event->getCurrentTarget());//获取的当前触摸的目标
        
        Point locationInNode = target->convertToNodeSpace(touch->getLocation());
        Size s = target->getContentSize();
        Rect rect = Rect(0, 0, s.width, s.height);
        
        if (rect.containsPoint(locationInNode))//判断触摸点是否在目标的范围内
            return true;
        else
            return false;
    };
    //把点击监听添加到监听序列中,因为只创建了一个监听,一个监听只能绑定到一个对象上,所以其他对象要使用监听则克隆
    _eventDispatcher->addEventListenerWithSceneGraphPriority(MyListener, star_box);//道具栏
    _eventDispatcher->addEventListenerWithSceneGraphPriority(MyListener->clone(), pause_box);//暂停栏

0 0