将轻扫事件设置为精灵
Setting swipe event to a sprite
我正在将滑动事件分配给cocos2dx精灵,但基本上问题是该事件被分配给整个屏幕。我希望它只分配给单个精灵。这是我的代码:
rect = Sprite::create();
rect->setTextureRect(Rect(0, 0, 180, 80));
// ekranın y ekseninde ortası | visibleSize.height / 2 + origin.y
rect->setPosition(Point(visibleSize.width / 2 + origin.x, visibleSize.height + 80));
auto grad = LayerGradient::create(Color4B(255, 255, 38, 255), Color4B(199, 173, 68, 255));
grad->changeHeight(rect->getContentSize().height);
grad->changeWidth(rect->getContentSize().width);
//grad->setPosition(Point(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));
//grad->addChild(rect);
rect->addChild(grad);
this->addChild(rect);
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = CC_CALLBACK_2(GameScene::onTouchBegan, this);
listener->onTouchMoved = CC_CALLBACK_2(GameScene::onTouchMoved, this);
listener->onTouchEnded = CC_CALLBACK_2(GameScene::onTouchEnded, this);
listener->onTouchCancelled = CC_CALLBACK_2(GameScene::onTouchCancelled, this);
listener->setSwallowTouches(true);
this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, rect);
触摸事件通常在玩家触摸屏幕时触发。在精灵上实现侦听器的最佳方法是对其进行子类化:http://www.cocos2d-x.org/wiki/How_To_Subclass_Sprite_And_Add_Event_Listeners
稍后可以在精灵侦听器事件(在触摸开始时)中检查触摸的冲突,然后执行您的函数
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 在C++/Linux中设置单调时钟的一些技巧
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 嵌套在类中时无法设置成员数据
- 需要帮助设置在C++中使用的Potrace
- 如何在自删除后将对象设置为nullptr
- 将指针设置为"nullptr"并不能防止双重删除?
- 如何在Ubuntu中使用cmake设置qt4
- ld:bind_at_load和-bitcode_bundle(Xcode设置ENABLE_bitcode=YES)不能
- 如何在boost beast http请求中设置http头
- 有没有办法在链接时设置精灵需要字段?
- 在 Cocos2dx 3.0 中的精灵上设置 TexParams
- 我是否需要为每个要检测到的每个精灵设置AddEventListenerWithSceneGrapriority
- [Cocos2dx]如何为自定义精灵设置图像
- cocos2dx精灵设置位置错误
- Cocos2d-x:当设置PhysicsWorld时,一些精灵会变得不可见
- SDL如何在按键时设置精灵的动画
- 将轻扫事件设置为精灵
- DarkGDK,在精灵刷出时间之间设置一个间隔
- 我如何设置一个if语句来动画一个精灵