请问一下,如何在成员函数中对外面创建好的精灵进行操作

直接使用精灵的标识符显示未定义的标识符!!!

bool GameScene::init()
{
    if(!Layer::init())
    {
        return false;
    }
    s = Director::getInstance()->getVisibleSize();

    auto item = MenuItemFont::create("Jump",this,menu_selector(GameScene::jumpTo));
    auto menu = Menu::create(item,NULL);
    menu->setPosition(s.width / 4,s.height * 3 / 4);
    addChild(menu);

    auto sp = Sprite::create("bird.jpg");
    sp->setPosition(s.width / 2,s.height / 2);
    addChild(sp);

    auto jump = JumpBy::create(1.0f,ccp(50,0),0,1);

}
void GameScene::jumpTo(Ref* p)
{
    sp->runAction(jump);
}

新手刚学,百度不到。:6:

创建完先设置一个tag,成员函数中用getChildByTag获取到你要操作的对象,然后进行操作

auto sprite = getChildByTag(tag)

是这样么,多问一句,那是谁在调用这个getChildByTag

你加在谁上边就是谁调用

sprite的父节点 看你结构对象是怎么添加的
eg: auto sprite=Sprite::create(“a.png”);
sprite->setTag(1);//这个tag值最好定义成宏
this->addChild(sprite);//这时候sprite的父节点是this 你也可以加在别的节点上 定义一个node 然后 node->addChild(sprite); 获得就是 node->getChildByTag(1);

     要获得的话就是
    this->getChildByTag(1);

谢谢了 :2:

非常感谢 :2: