void CAButton::onEnterTransitionDidFinish() { CAView::onEnterTransitionDidFinish(); if (this->CAControl::getBackGroundView() == NULL) { this->setBackGroundDefault(); } if (this->getHighlightedBackGroundView() == NULL) { if (CCScale9Sprite* bg = dynamic_cast<CCScale9Sprite*>(this->CAControl::getBackGroundView())) { CCScale9Sprite* bgHighLighted = CCScale9Sprite::createWithImage(bg->getImage()); bgHighLighted->setPreferredSize(bg->getPreferredSize()); bgHighLighted->setColor(ccc3(127, 127, 127)); this->setBackGround(CAControlStateHighlighted, bgHighLighted); } else if (CAImageView* bg = dynamic_cast<CAImageView*>(this->CAControl::getBackGroundView())) { CAImageView* bgHighLighted = CAImageView::createWithImage(bg->getImage()); bgHighLighted->setBounds(bg->getBounds()); bgHighLighted->setColor(ccc3(127, 127, 127)); this->setBackGround(CAControlStateHighlighted, bgHighLighted); } else if (CAView* bg = dynamic_cast<CAView*>(this->CAControl::getBackGroundView())) { CAView* bgHighLighted = CAView::createWithFrame(bg->getFrame()); bgHighLighted->setColor(ccc3(bg->getColor().r/2, bg->getColor().g/2, bg->getColor().b/2)); this->setBackGround(CAControlStateHighlighted, bgHighLighted); } } this->updateWithPoint(); this->setControlStateNormal(); }