第一个First类的Public里面加上button
class First:public Layer
{
.......省略无数.......
public:
Button* btn;
void setNum(int n);//这个随便
void Second(Ref* pSender);//btn的回调函数
.......省略无数.......
}
btn图片按钮 :
.......省略无数.......
btn = Button::creat("1.png","1_ob.png");
btn->addClickEventListener
(CC_CALLBACK_1(First::Second, this));//点击事件
.......省略无数.......
btn的回调函数Second :
void First::Second(Ref* pSender)
{
auto Four = Three::creat();
Four->setMyParent(this); //重要
addchild(four);
}
Three类继承First类
class Three:public First
{
........省略无数.......
private:
First* m_Found; //重要
public:
void setMyParent(First* tmp){m_Found = temp;} //重要
........省略无数.......
}
接下来更改按钮的图片:
void First::setNum(int n)//这个随便
{
if(n == 5)//假设有个m_Found->setNum(5)
{
btn->loadTextures("5.png", "5_on.png");//更改按钮图片
}
}
大功告成^_^