Cocos2dx项目启程二 之 封装属于我的按钮类
来源:互联网 发布:邮编正则表达式 js 编辑:程序博客网 时间:2024/05/25 23:58
不知道为什么,很讨厌cocos2dx的 各菜单类,比如按钮:如果一张图片上就已经有按钮的几个状态了,我还是要创建多张资源图片,
最起码要指定这张图片上哪块区域是这个普通状态,哪块区域是那个选中状态。。。。于是,在这里,做了点加工,在一张图片上
如果有几个按钮状态,来实现多种按钮状态:在用我自己的按钮类的话只只需要 1 个函数就可以实现:
CMySpriteButton *pGameMainMenuBt= CMySpriteButton::create(“bt.png”,DIR_VERTICAL,2,this, menu_selector(SceneManger::menuCallback));//
#ifndef MY_SPRITE_BUTTON_H#define MY_SPRITE_BUTTON_H#include "common.h"#include "MySprite.h"#define MYBUTTON_ZORDER3//按钮状态枚举enum eButtonState{//普通状态STATE_NORMAL,//按下STATE_DOWN,//已选中状态STATE_SELECTED,//禁用该按钮STATE_DISABLE,//STATE_MAX};//资源切割方向enum eImageDir{//水平DIR_HORIZONTAL,//垂直DIR_VERTICAL};//@单图切割换帧 按钮class CMySpriteButton : public CCLayer{private://精灵资源CMySpritem_sprImage;//调用CCNode*m_pTarget;//回调SEL_MenuHandlerm_pfnCallBack;private:CMySpriteButton(void);~CMySpriteButton(void);//接口public://createstatic CMySpriteButton* create( const char* pszResourceName, eImageDir eDir, unsigned char byStates, CCNode* pTarget, SEL_MenuHandler pfnCallBack );void setPositionX( float x );void setPositionY( float y );void setPosition(float x, float y);float getPositionY();float getPositionX();cocos2d::CCPoint& getPosition();bool init( const char* pszResourceName, eImageDir eDir, unsigned char byStates, CCNode* pTarget, SEL_MenuHandler pfnCallBack );void SetState(eButtonState eState);//重载protected:void onEnter();bool ccTouchBegan( CCTouch *pTouch, CCEvent *pEvent );void ccTouchEnded( CCTouch *pTouch, CCEvent *pEvent );void ccTouchesBegan( CCSet *pTouches, CCEvent *pEvent );void ccTouchesEnded( CCSet *pTouches, CCEvent *pEvent );};#endif
- Cocos2dx项目启程二 之 封装属于我的按钮类
- Cocos2dx项目启程一 之 封装属于我的精灵类
- Cocos2dx项目启程三 之 架构项目之切换场景
- 我的csdn之旅启程
- Base封装(二)-- 封装属于自己的Library(UI篇)
- 我的2011,我的嵌入式之启程
- 启程之旅--我的程序员之路(一)
- 启程——我的博客之旅
- 我的CUDA学习之旅——启程
- Cocos2dX精灵类的封装
- 第六周项目二之我的数组类
- 我的项目之路(二)
- 我的记事本项目之路(二)
- 属于我的秋天
- 属于我的平凡
- 彩云之巅(二) 启程
- cocos2dx 的jni封装
- 寒風的Cocos2dx之旅之添加按钮
- vim的复制粘贴小结
- ubuntu terminal proxy
- 004分治——快速排序
- poj 1265 Area 计算几何Pick定理 && poj 2954 Triangle
- linux下防火墙限制访问IP
- Cocos2dx项目启程二 之 封装属于我的按钮类
- Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
- Linux Commands for Beginners--Arithmetic in Bash--expr,let commands
- 怎么用rand函数产生一个范围内的数
- JUnit4 详解
- C++ 简单的观察者模式
- 7个例子科普CPU cache
- 让EditText响应软键盘搜索
- c++函数参数和返回值的规则