您的位置:首页 > 移动开发 > Cocos引擎

cocos2d 简单的单选按钮

2013-11-06 10:55 204 查看
#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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: