m_player = Player::create();
m_player->setPosition(Vec2(m_size.width/2, m_size.height*0.15));
this->addChild(m_player);
auto turnRight = Sprite::create("turnRight.png");
turnRight->setTag(200);
turnRight->setPosition(Director::getInstance()->convertToGL(Vec2(600, 800)));
this->addChild(turnRight);
auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);
listener->onTouchBegan = =](Touch * _touch, Event * _event)
{
auto touchSpritePoint = _touch->getLocation();//convertToNodeSpace(_touch);
if(turnRight->boundingBox().containsPoint(touchSpritePoint))
{
auto actionMoveBySprite = MoveBy::create(0.05f, Vec2(60, 0));
m_player->runAction(actionMoveBySprite);
}
return true;
};
Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,turnRight);
```
我不断的touch那个turnRight的图标,m_player会不断地往右边移动,怎么可以让m_player移动到屏幕边缘时候,停下,然后怎么按也不会移出去,
但因未用到runAction,怎么避免弹下弹下的情况
我看了下你的代码,如果你添加一个判断,touch之后判断m_player的坐标,如果坐标超过屏幕边框就不移动了不就好了吗?
可能说的不对
我只是路过滴 因为啥也不懂


嗯,没错
解决了