为什么80%的码农都做不了架构师?>>>
#菜单方式创建按钮
// 创建按钮显示文本
CCLabelTTF *label = CCLabelTTF::create("BTN-TEST", "Arial", 20);
// 创建菜单按钮,用menu_selector
CCMenuItemLabel *myBtn
= CCMenuItemLabel::create(label, this, menu_selector( HelloWorld::btnTest ) );
#绑定处理函数
myBtn->setPosition(CCPointZero); // 设定按钮位置基准点为 屏幕中心
myBtn->setPosition( ccp( 0, 0 ) ); // 设定按钮位置
CCMenu* pMyMenu = CCMenu::create( myBtn, NULL); // 把按钮添加到 菜单中
this->addChild( pMyMenu, 1); // 设置按钮所在图层
#按钮文字设置颜色
ccColor3B myColor;
myColor.r = 225;
myColor.g = 0;
myColor.b = 1;
myBtn->setColor( myColor );
# cocos2dx 代码中调用的图片文件,默认路径为工程同级目录 的[ Resources ]文件夹中,而不是工程目录内
# VS运行,中文乱码
因为Cocos2d-x使用的是UTF-8编码,VS默认GB2312
转换函数网上有很多,这里保留一份。
char* GToU(const char* strGB2312)
{
int iLen = MultiByteToWideChar(CP_ACP, 0, strGB2312, -1, NULL, 0);
wchar_t* wstr = new wchar_t[iLen+1];
memset(wstr, 0, iLen+1);
MultiByteToWideChar(CP_ACP, 0, strGB2312, -1, wstr, iLen);
iLen = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
char* strUTF8 = new char[iLen+1];
memset(strUTF8, 0, iLen+1);
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, strUTF8, iLen, NULL, NULL);
if(wstr) delete[] wstr;
return strUTF8;
}