При удалении спрайта функциями this->removeChild(sprite,true);
или this->removeChildByTag(1)
или sprite->removeFromParent();
вылетает игра. В чём заключается проблема? Вроде простенькая функция, а крашит всё приложение.
Вылетает с ошибкой
A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x58 in tid 7163 (GLThread 1727), pid 7124 (nyName.GameName)
Листинг:
bool HelloWorld::init() {
if (!Scene::init()) {
return false;
}
auto visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
/////////////////////////////
//спрайт игрока
ship = Sprite::create("player.png");
ship->setScale(5);
ship->setPosition(30, 100);
//жизни
for(int i=0;i<lifes;i++){
heart=Sprite::create("heart.png");
heart->setPosition(Vec2(origin.x + 30 + i * 20,visibleSize.height-10));
heart->setScale(7);
this->addChild(heart,2);
hearts.push_back(heart);
}
//задний фон
background=Sprite::create("background.png");
background->setAnchorPoint(Point(0.5,0.5));
background->setScale(10);
background->setPosition(Director::getInstance()->getVisibleSize().width/2,Director::getInstance()->getVisibleSize().height/2);
//кнопка вверх
ui::Button *upButton=ui::Button::create("button_up.png","button_up.png");
upButton->setPosition(Vec2(30,80));
upButton->addTouchEventListener(CC_CALLBACK_2(HelloWorld::touchEventUp,this));
//кнопка вниз
ui::Button *downButton=ui::Button::create("button_down.png","button_down.png");
downButton->setPosition(Vec2(30,40));
downButton->addTouchEventListener(CC_CALLBACK_2(HelloWorld::touchEventDown,this));
//кнопка выстрела
ui::Button *shootButton=ui::Button::create("button_shoot.png","button_shoot.png");
shootButton->setPosition(Vec2(visibleSize.width-50,50));
shootButton->addTouchEventListener(CC_CALLBACK_2(HelloWorld::touchEventShoot,this));
//добавляем элементы на сцену
this->addChild(upButton,2);
this->addChild(downButton,2);
this->addChild(shootButton,2);
this->addChild(background,0);
this->addChild(ship,1);
ship->setTag(1);
//this->removeChildByTag(ship);
//this->removeChildByName("player.png",true);
//this->removeChild(ship);
// ship->removeFromParent();
this->scheduleUpdate();
this->schedule(schedule_selector(HelloWorld::setGamePlaySpeed),1);
return true;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть такой код, как я понял он полностью отключает соединения, мне интересно для чего его используют в UDP сетиИли его вообще не используют...
В С++ я полный ноль, начал изучать по нужде буквально сутки назадЕсть проблема
Столкнулся с такой проблемойМне необходимо записать слова в два массива
Имеется поле в структуре с расширением constКак заполнить его извне при создании обьекта (например, конструктор)