如何让移动的精灵不跑出屏幕边框?

    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的坐标,如果坐标超过屏幕边框就不移动了不就好了吗?
可能说的不对

我只是路过滴 因为啥也不懂:14::14::14:

嗯,没错
解决了