Cocos2d-随笔记录

1.消息通知中心(CCNotificationCenter)(观察者模式)

1 作用:每个Layer类之间通信
2 投递消息:CCNotificationCenter::sharedNotificationCenter()->postNotification(char *消息标识 ,CCObject* 投递参数);
3 接收消息:CCNotificationCenter::sharedNotificationCenter()->addObserver(CCObject* 目标类(this),callfuncO_selector(回调函数),char *消息标识,NULL);
4 回调函数:void 函数名称(CCObject *obj);
5 移除消息:CCNotificationCenter::sharedNotificationCenter()->removeObserver(CCObject* 目标类(this), char* 消息标识);

2.自定义图片文字:

1 CCLabelAtlas

3.添加资源文件搜索路径:

1 std::vector<std::string> vecResPath;
2 vecResPath.push_back("路径");
3 vecResPath.push_back("路径");
4 CCFileUtils::sharedFileUtils()->setSearchPaths(vecResPath);

4. 用户数据中心,将会把数据写到XML中,下一次启动的时候还可以继续读取

1 CCUserDefault::sharedUserDefault()->setBoolForKey("isGameStart", true);
2 设置完成之后,一定要调用flush(),保证写到文件中

5.获取Note的原始尺寸:

1 CCNote()->getContentSize()

6.延迟动作:

1 CCActionInterval

7.样条曲线动作:

1 CCCardinalSplineBy::create(float duration, cocos2d::CCPointArray *points, float tension);
2 float duration       // 时间间隔
3 CCPointArray points      // 控制点列表
4 float tension       // 松紧程度。tension==1时,样条线是分段直线。tension < 1向外松弛弯曲,tension > 1向内缩紧弯曲。

8.使动作速度变化

1  CCEaseIn - 由慢至快(速度线性变化),在开始时慢
2  CCEaseOut - 由快至慢,后来慢
3  CCEaseInOut - 由慢至快再由快至慢,开始时和后来慢
4  CCEaseSineIn - 由慢至快(速度正弦变化)
5  CCEaseSineOut - 由快至慢
6  CCEaseSineInOut - 由慢至快再由快至慢
7  CCEaseExponentialIn - 由慢至极快(速度指数级变化)
8  CCEaseExponentialOut - 由极快至慢
9  CCEaseExponentialInOut - 由慢至极快再由极快至慢

9.点9图

1 CCScale9Sprite

10.判断一个点是否在矩形中

1 CCRect.containsPoint(CCPoint)

11.播放声音

1 CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("文件路径");

12.触摸事件

1  ccTouchBegan
2  ccTouchMoved
3  ccTouchEnded

13.不要在OnEnter()中调用addChlid()方法。

14. init() 和 OnEnter() 的区别:

  其被调用的顺序是先init(),后onEnter()。

  init()在类的初始化时只会调用一次。

  onEnter()在该类被载入场景的时候被调用,可能会发生多次。

  例如:CCLayer* cclayer = new MyLayer(); 这种情况下,只会触发onEnter。

    CCLayer* cclayer = MyLayer::create();这样情况下,既会触发init()方法,也会触发onEnter()方法。

时间: 2024-08-24 21:56:42

Cocos2d-随笔记录的相关文章

关于网上商城开发的随笔记录2

继续前一篇文章关于网上商城开发的随笔记录1,原文地址:http://www.cnblogs.com/zhankui/p/4580414.html 夏天长沙的天气十分闷热,又十分多变,所以忙了一下午,效率不高,只是对文档进行大篇幅的修改,参考大量购物网站,设计出了数据库模型,(看到这里是不是以为我要分享数据库了?不好意思,你又想多了),这里主要是讲用例图,老师说开发的时候客户是看不懂我们的专业术语的(简单来说就是学微软,吧所有的客户当白痴,简单化,当然这是很必要的),所以要让对方知道我们做出来过后

MySQL简单操作随笔记录

create database golden; create table golden.users(usersId int unsigned not null auto_increment primary key,userName char(20) not null,passWord int unsigned not null); create table golden.u like golden.users ; -- 复制表结构insert into golden.u select * fro

关于网上商城开发的随笔记录3

提示一下手机党慎入,多图! 关于网上商城开发的随笔记录1,原文地址:http://www.cnblogs.com/zhankui/p/4580414.html 关于网上商城开发的随笔记录2,原文地址:http://www.cnblogs.com/zhankui/p/4582046.html 因为使用的是oracle的数据库,所以需要新建一个,但是今天突然发现班上很多人都不会,所以,就写一写好了,与人方便,也是自己方便嘛,这个比较简单,但是还是有几点要注意的,请仔细看哦,走你┏ (゜ω゜)=? 桌

开发随笔记录

昨天别人给了同事一个简单的demo,问题是UITableViewController上有内有textfield的cell,在textfield被选中,弹出键盘,界面会自动滚动,就和我们平时做textfield输入时不要被键盘挡住那样的滚动.对方是想要不要这个自动滚动,因为那个demo滚动的位置不对,查了一下,发现不知道什么时候起,UITableViewController自动适配了这个需求,完成不滚动的要求只有两个做法:(1)把UITableViewController换成UIViewContr

【随笔记录】python 处理中文时出现的错误&#39;ascii&#39; codec can&#39;t decode byte 0xe9 in position 0: ordinal not in range(128)&quot; 解决方法

python xml处理中文时出现的错误,记录一下,以免忘记 "UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决办法,在该python文件的前面加上如下几句,问题得到解决. import sys default_encoding = 'utf-8' if sys.getdefaultencoding() != default_enco

软件测试技术第一周课堂随笔记录

写在前,这是软件测试技术的课堂随笔,记录了一些在课上所阐述的内容. 一.由于是第一周课,免不了讲起软件测试的定义:什么是软件测试. 软件测试是软件开发过程中的一个重要组成部分,是贯穿整个软件开发生命周期.对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求.预先定义的不一致性.-----------------百度百科. 个人的理解暂时就是:1.找bug.2.找出需求与实际的差别. 二.软件测试常见测试方法: 从测试是否针对软件结

自己初学时的随笔记录

如果富文本编辑器 jsp....文件可以找到但是就是显示不出来,可能是Controller控制器中@RequestMapping后边没有写路径 ---------------------------------------------------------------------------------------------------------------------------- iframe框架内的页面如果要想不覆盖或者成为一个有机整体,需要在<a></a>连接到的js

【随笔记录】MYSQL ERROR CODE 错误编号的意义

mysql error code(备忘) 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删除数据目录导致删除数据库失败 1011:删除数据库文件失败 1012:不能读取系统表中的记录 1020:记录已被其他用户修改 1021:硬盘剩余空间不足,请加大硬盘可用空间 1022:关键字重复,更改记录失败 1023:关闭时发生错误 1024:读文件错误 1025

初识html、css时随笔记录

css部分样式 圆框效果:border-radius:5px; 固定样式:position:fixed;悬浮窗在IE6中position:absolute其余浏览器可以用fixed: 使table中的表格横线出现一次:border-collapse:collapse; 使两个td的线消失:cellspaceing="0" cellpadding="0"; input添加图片居中方式:align="absmiddle"; 文本框textarea的宽

[飘着云的天空]java随笔记录

菜鸡学习,验证,两点: 1.调用方法时传入参数为对象,如object ,可以直接set改变原对象.如map,list,可直接可以对进行添加删除. List list =new ArrayList<>(); test(list ); public void   test(list ){ list.add("1"); } 2.遍历list,可以直接对list中的对象进行set操作,不需要取出来单独操作 List<user> list =new ArrayList&l