本文共 1419 字,大约阅读时间需要 4 分钟。
又是需要这样的功能,按钮点击后切换成另外一种图片。比如登陆界面的记住账号、记住密码前面的按钮就是需要这样的效果
(1)实现代码(LoginBgLayer.cpp中)
// Add the menu// Create a menu item with the icon, it's an auto release object.//按钮切换图片//记住账号CCMenuItemImage *rememberName1 = CCMenuItemImage::create("pointBtn.png","pointBtn.png");CC_BREAK_IF(! rememberName1);CCMenuItemImage *rememberName2 = CCMenuItemImage::create("point.png","point.png");CCMenuItemToggle *rememberNameItem = CCMenuItemToggle::createWithTarget(this, menu_selector(LoginBgLayer::rememberNameCallback), rememberName1,rememberName2, NULL);rememberNameItem->setPosition(_REMEMBERNAME_POS);//记住密码CCMenuItemImage *rememberPassword1 = CCMenuItemImage::create("pointBtn.png","pointBtn.png");CCMenuItemImage *rememberPassword2 = CCMenuItemImage::create("point.png","point.png");CCMenuItemToggle *rememberPasswordItem = CCMenuItemToggle::createWithTarget(this, menu_selector(LoginBgLayer::rememberPasswordCallback), rememberPassword1,rememberPassword2, NULL);rememberPasswordItem->setPosition(_REMEMBERPASSWORD_POS);CCMenu* itemToggleMenu = CCMenu::create(rememberNameItem,rememberPasswordItem, NULL);itemToggleMenu->setPosition(_ZERO_POS);this->addChild(itemToggleMenu, 1);(2)回调函数
//记住账号回调函数void LoginBgLayer::rememberNameCallback(CCObject* pSender){ //是否记住账号}//记住密码回调函数void LoginBgLayer::rememberPasswordCallback(CCObject* pSender){ //是否记住密码}这里面有些宏(坐标等),这里就没修改过来,用的时候自己再去修改