如何让按键按下时不断执行某个动画,松开时立刻停止

如何修改让按键按下时不断执行某个动画,松开时立刻停止?
以下代码按一次就只能执行一次,无法实现这样的功能。应如何修改?

bool HelloWorld::init()
{
    auto listener=EventListenerKeyboard::create();
    listener->onKeyPressed=CC_CALLBACK_2(HelloWorld::onKeyPressed,this);
    listener->onKeyReleased=CC_CALLBACK_2(HelloWorld::onKeyReleased,this);
    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener,this);
}
void HelloWorld::onKeyPressed(EventKeyboard::KeyCode keyCode,Event* event){
    if(keyCode==EventKeyboard::KeyCode::KEY_A){
	    Sprite* pSprite=Sprite::create("ty.png");
	    pSprite->setPosition(Vec2(200,200));
	    this->addChild(pSprite);
	    auto pMoveTo=MoveTo::create(1.0,Vec2(300,200));
	    pSprite->runAction(pMoveTo);
    }	
}
void HelloWorld::onKeyReleased(EventKeyboard::KeyCode keyCode,Event* event){
}

按下和松开是两种状态,状态切换

具体怎么切换?

keypressed的时候的moveto动作,用repeatforever再create一下(记得用队列动作,下次动作之前重置坐标)?keyrelease的时候stopAction