文本输入
CCTextFiledTTF
CCTextFiledTTF *textEdit = CCTextFiledTTF::textFiledWithPlaceHolder("input", "Arial", 33);
textEdit->atchWithIME(); 弹出软键盘
textEdit->setSecureTextEntry(true); 密码格式输入
CCEditBox
CCScale9Sprite *bg = CCScale9Sprite::create("abc.png"); 九妹图 易拓展,省资源
CCEditBox *editBox = CCEditBox::create(CCSize(100, 30), bg);
editBox->setPlaceHolder("input here"); 默认显示文本
editBox->setInputFlag(...); 各种情况 如首字母大写、大小写敏感等。
菜单
CCMenuItemFont *item = CCMenuItemFont::create("this is item"); 默认位置就在中央
menu->addChid(item);
CCMenu *menu = CCMenu::create();
addchild(menu);
设置相应函数
item->setTarget(this, menu_selector(函数指针));
void Menu::menuHandler(CCCObject *)
{
}
MenuItems
CCMenuItemAtlasFont *itemAltas = CCMenuItemAtlasFont::create("123456", "labelatlasimg.png", 24, 32, ‘0‘);
CCMenuItemImage *itemImage = CCMenuItemImaage::create("CloseNormal.png", "CloseSected.png");
CCMenuItemLabel *itemLabel = CCMenuItemLabel::create(
CCLabelTTF::create("This is lable ttf item", "Arial", 33);
);
CCMenuItemLabel *itemLableIBMFont = CCMenuItemLabel::create();
CCMenuItemToggle *itemToggle = CCMenuItemToggle::createWithTarget();
竖着对齐
menu->alignItemsVertically();
cocos内存管理
C++的构造函数是语言层次的初始化
init是cocos业务层的初始化
coocs采用半自动化的内存管理
create() == 自动管理
内存管理器->访问引用计数器
new
release()
retain() 引用计数器加1
autorelease 将这个对象加入到内存管理器
cocos的半自动化内存管理由CCObject实现
计数器
计数器的设置函数
对于retain()的对象,为了避免内存泄露
可以使用2种方式release();
~析构函数()
{
_arr->release();
}
void onExit()
{
父类::onExit(); 必须先调用父类的onExit()函数,否则造成更大的内存泄露
_arr->release();
}
scheduleUpdate(); 让帧循环调用this->update(float dt)函数
void HelloWorld::handeer(CCObject *sender)
{
CCNode *node = (CCNode *)sender;
haha = node->getTag() - 1000;
}
void HelloWorld::update(float delta)
{
if (1 == haha)
{
sp->setPositionY(sp->getPositionY() + 150 * delta);
CCLOG("1");
}
if (2 == haha)
{
sp->setPositionY(sp->getPositionY() - 150 * delta);
CCLOG("2");
}
if (3 == haha)
{
sp->setPositionX(sp->getPositionX() - 150 * delta);
CCLOG("3");
}
if (4 == haha)
{
sp->setPositionX(sp->getPositionX() + 150 * delta);
CCLOG("4");
}
return;
}