【cocos2d-x学习笔记】文本输入、菜单、内存管理、定时器

文本输入

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;
}

时间: 2024-09-27 04:28:37

【cocos2d-x学习笔记】文本输入、菜单、内存管理、定时器的相关文章

《objective-c基础教程》学习笔记(十)—— 内存管理之对象生命周期

本篇博文,将给大家介绍下再Objective-C中如何使用内存管理.一个程序运行的时候,如果不及时的释放没有用的空间内存.那么,程序会越来越臃肿,内存占用量会不断升高.我们在使用的时候,就会感觉很卡,最终使得程序运行奔溃.因此,将无效的内存及时清理释放,是非常有必要的. 一个对象在最初创建使用,到最后的回收释放,经历的是怎样一个过程呢?包括:诞生(通过alloc或new方法实现).生存(接收消息并执行操作).交友(通过复合以及向方法传递参数).最终死去(被释放掉). 一.引用计数 在对象创建的时

(Object-C)学习笔记(三) --OC的内存管理、封装、继承和多态

OC的内存管理 iOS7以前使用的是MRC手动内存管理,现在都使用ARC自动内存管理,一般不会出现内存泄漏问题. 封装 封装就是有选择的保护自己的代码.将给别人使用的接口留出来让人看见,其他的都隐藏起来.增加了代码的可读性.可维护性.可拓展性. 将给别人看的代码放在 interface当中(.h or .m),不让看的放在implementation当中.这就是封装对象. 继承 子类可以继承父类非私有的属性和方法. 继承的优点:1.代码复用 2.制定规则 3.为了多态 继承的缺点:1.提高了代码

JVM学习笔记(三)------内存管理和垃圾回收【转】

转自:http://blog.csdn.net/cutesource/article/details/5906705 版权声明:本文为博主原创文章,未经博主允许不得转载. JVM内存组成结构 JVM栈由堆.栈.本地方法栈.方法区等部分组成,结构图如下所示: 1)堆 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制.堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Space和To Space组成,结构图

JVM学习笔记(四)------内存调优【转】

转自:http://blog.csdn.net/cutesource/article/details/5907418 版权声明:本文为博主原创文章,未经博主允许不得转载. 首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM. 对JVM内存的系统级的调优主要的目的是减少GC的频率和Fu

C++学习笔记之输入、输出和文件

一.流的概念 数据从内存的一个地址移动到另一个地址称为数据流动——流操作 流操作是通过缓冲区(buffer)机制实现的. 缓冲区:内存的一块区域——用作文件与内存交换数据. 数据从文件中读出:文件 → 缓冲区 → 内存 将数据写入文件:内存 → 缓冲区 → 文件 为什么要使用缓冲区而不直接从文件中读取数据到内存或者直接有内存写入文件呢?我们的文件通常都存在磁盘中,程序从磁盘读取一个字符需要大量的硬件活动,速度非常慢.缓冲方法则从磁盘上读取大量信息,将这些信息存储在缓冲区,然后每次从缓冲区里读取一

Android-Universal-Image-Loader学习笔记(3)--内存缓存

前面的两篇博客写了文件缓存,现在说说Android-Universal-Image-Loader的内存缓存,该内存缓存涉及到的类如图所示 这些类的继承关系如下图所示: 如同文件缓存一样,内存缓存涉及的接口也有两个:MemoryCacheAware 和MemoryCache,其中MemoryCache只是简单的继承了MemoryCacheAware并没有声明其他的方法.MemoryCacheAware接口的方法如下: @Deprecated public interface MemoryCache

2017-2-15从0开始前端学习笔记-文本

2017-2-15从0开始前端学习笔记-文本 标签 文本 粗体和斜体 <b>bold粗体</b> <i>italic斜体</i> 上标和下标 <sup>上标</sup> <sub>下标</sub> 空白 换行符和水品线 <br/>换行符 <hr/>水平线 语义化标记 加粗和强调 <strong>加粗 加强语气</strong> <em>强调 斜体 能改

Git 学习笔记&lt;远程仓库与标签管理&gt; (四)

什么是远程仓库? 就像第一章介绍的那样,远程仓库可以储存你编写的所有源码和资源文件. 甚至也可以当网盘使,不过当然有很多契合git管理文本的特性. 下面就要以 github 为示例远程仓库进行介绍.  (也可以自己弄一台服务器作远程仓库). 创建仓库 在主页找到 +New repository 或者右上角的加号里有.输入名字 描述 然后没钱只能public就能确定了.然后呢,点名字打开你的仓库.(主页右下角可以找到) 关于与远程仓库的连接 首先你打开你的保险箱得先证明身份吧,不然我怎么知道你是客

Linux学习笔记之文件管理,用户管理

学而不用,总是忘记,今天又整理一下,记在这里,方便以后自己查看 常用操作命令 目录常用操作命令: pwd, cd, ls, mkdir, rmdir, tree. 文件常用操作命令: find,locate, whereis, which, touch, file, cp, rm,mv,ln,cat,tac,head,tail,more,less,grep,wc. 用户及用户组管理 Linux系统中用户分为3类:root用户,普通用户和虚拟用户.其中虚拟用户是不具备登录系统的能力,但却是系统运行

Linux学习笔记(5)-进程管理

进程简介 进程是正在执行的一个程序或命令,每一个进程都有自己的地址空间,并占有一定的系统资源.感性的认识,进程就是一个正在运行的程序 进程管理的作用 判断服务器的运行状态 查看系统中有哪些进程 杀死进程(很少用,一般会采用正常的关闭手段) 查看系统所有的进程 #ps aux #ps -le 输出信息各字段的含义 USER:进程是由哪个用户产生的 PID:进程的ID号 %CPU:进程占用CPU资源的百分比 %MEM:进程占用物理内存的百分比 VSZ:该进程占用虚拟内存的大小,单位KB RSS:该进