关闭

cocos2d-x 中 CCMenu回调函数 调用父类的参数

标签: cocos2d-xmenucallback
864人阅读 评论(0) 收藏 举报

类声明

class Base:public CCNode
{
public:
	BuildBase(void);
	~BuildBase(void);
	CREATE_FUNC(Base);
	virtual bool init();

public:
	//设置数据
	void SetBuildData(char *Iamge, char *Name, int &Hp);
	//按键回调函数
	void CallBack(CCObject *pSender);
	
public:

	string Build_Name;
	int BuildHp, MaxHp;
	
};


类具体调用

void Base::SetBuildData(char *Iamge, char *Name, int &Hp){
	
	Build = CCSprite::createWithSpriteFrameName(Iamge);
	Build->setRotation(15);//旋转角度

	CCMenuItem *pItem = CCMenuItemSprite::create(Build, Build, Build, menu_selector(Base::CallBack));
	
	CCMenu *pMenu = CCMenu::create(pItem, NULL);
	pMenu->setPosition(ccp(0, 0));
	this->addChild(pMenu);

	BuildHp = MaxHp = Hp;
	Build_Name = Name;

}

void BuildBase::CallBack(CCObject *pSender){ //pSender是所点击的图片 及 item里的图片

	CCSprite* pbuild = (CCSprite *) pSender;
        //获取父类CCMenu, 和CCMenu的父类
	Base *pbu = (Base *)pbuild->getParent()->getParent();
	
	CCLog("=============%d, now :%d, is who %s",pbu->MaxHp, pbu->BuildHp, pbu->Build_Name.c_str());

}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6640次
    • 积分:142
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章存档