Итак, я хочу, чтобы спрайт моего кота двигался вверх и вниз при нажатии двух кнопок (ВВЕРХ и ВНИЗ). Я новичок в cocos2d-x. Итак, в mygame.h у меня есть глобальное объявление кота-спрайта:
cocos2d::Sprite *cat;
В одной функции я создаю новую сцену и добавляю в нее кошку.
cat = Sprite::create("cat.png");
cat->setScale(0.2);
cat->setPosition(0, 190);//(Director::getInstance()->getVisibleOrigin().x + 50, Director::getInstance()->getVisibleSize().height / 2);
layer->addChild(cat);
playscene->addChild(cat);
В другой функции (обратный вызов кнопки) у меня есть этот код:
void HelloWorld::down(Object* pSender){
CCActionInterval* down = CCMoveBy::create(1.0f, Point(0.0, -20.0));
cat->runAction(down);
}
И все в порядке, пока я не нажму кнопку вверх или вниз. Выдает ошибку на cat->runAction(down); линия. Когда я исследую переменную cat, похоже, я не могу добраться до параметров позиции. Это ошибка чтения памяти..