cocos2d 简单的单选按钮

#pragma once
#include "cocos2d.h"
USING_NS_CC;

class MenuItemImage_single 
 :public CCMenuItemImage
{
public:
 MenuItemImage_single(void);
 ~MenuItemImage_single(void);

 static MenuItemImage_single* create( const char *ImageFilename_back,CCObject* target,SEL_MenuHandler selector);

 void update(float dt);
 static void initSpritePosition(float x ,float y);
 static CCSprite* clickingSprite;
 
protected:
 bool init();

private:

};


//重新包装 纹理按钮  加入一个成员  ——静态单例精灵   //单例仅仅对类来说 生成的类对象唯一  别搞混 静态精灵即可
//此精灵会在按下按钮调用回调同时设置自己的位置 
//若干个这样的按钮就组成了 单选按钮群

//可以用setenable做

 

—————————————————————————————————————————————————————————————————————————————

#include "menuItemImage_single.h"

MenuItemImage_single::MenuItemImage_single(void)
{
}

MenuItemImage_single::~MenuItemImage_single(void)
{
}

MenuItemImage_single* MenuItemImage_single::create( const char *ImageFilename_back,CCObject* target,SEL_MenuHandler selector)
{
 MenuItemImage_single *pRet = new MenuItemImage_single();
 if (pRet && pRet->init() && pRet->initWithNormalImage(ImageFilename_back, ImageFilename_back, NULL, target, selector))
 {
  pRet->autorelease();
  return pRet;
 }
 CC_SAFE_DELETE(pRet);
 return NULL;
}


void MenuItemImage_single::update(float dt)
{
 if(m_bIsSelected)
 {
  clickingSprite->setPosition( getPosition() );
 }
}

void MenuItemImage_single::initSpritePosition(float x ,float y)
{
 clickingSprite->setPositionX(x);
 clickingSprite->setPositionY(y);
}

bool MenuItemImage_single::init()
{
 CCMenuItemImage::init();
 clickingSprite = CCSprite::create("payMoney/Switch2_off.png"); //类外通过类名
 clickingSprite->_setZOrder(1);
 this->scheduleUpdate();
 return true;
}

CCSprite* MenuItemImage_single::clickingSprite = NULL; //CCSprite::create("payMoney/Switch2_on");

——————————————————————————————————————————————————————————————

 MenuItemImage_single* botton_1 = MenuItemImage_single::create("payMoney/Switch2_on.png",this,menu_selector(PayMoney::onPay_1));
 botton_1->setPosition(CCPoint(-205,730));

 MenuItemImage_single* botton_2 = MenuItemImage_single::create("payMoney/Switch2_on.png",this,menu_selector(PayMoney::onPay_2));
 botton_2->setPosition(CCPoint(-205,630));

 MenuItemImage_single* botton_3 = MenuItemImage_single::create("payMoney/Switch2_on.png",this,menu_selector(PayMoney::onPay_3));
 botton_3->setPosition(CCPoint(-205,528));

 MenuItemImage_single* botton_4 = MenuItemImage_single::create("payMoney/Switch2_on.png",this,menu_selector(PayMoney::onPay_4));
 botton_4->setPosition(CCPoint(-205,425));

 MenuItemImage_single* botton_5 = MenuItemImage_single::create("payMoney/Switch2_on.png",this,menu_selector(PayMoney::onPay_5));
 botton_5->setPosition(CCPoint(-205,322));


 CCMenu*  menu = CCMenu::create(botton_1,botton_2,botton_3,botton_4,botton_5,button_Close,button_Pay,NULL);
 menu->setPosition( 0 ,0); //1、怎么才能随意设 ??坐标系变换


 MenuItemImage_single::initSpritePosition(-205,730);
 layer->addChild(MenuItemImage_single::clickingSprite);//2、。。。。
 layer->addChild(menu);

转载于:https://www.cnblogs.com/sssssnian/p/3748577.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值