关于Cocos2d-x的一些认识(4)

接上篇:

1.飘字效果的三个动作用sequence来组合,因为放大和缩小的执行只在一瞬间,然后它会根据设置动作持续时间来播放,但是执行只是一瞬间,所以要是用spawn来组合播放的话只会一下子闪过。

2.create _func这个宏里 写了调用init函数,所以只要有creat func的类就一定会有init(),并且创建对象,场景等这些需要初始化(写init())的都要写createfunc,创建的时候会自动调用init()。宏里面是一系列代码,所以创建类的时候这么多代码一起执行了,所以create func里的东西一定会被调用)

3.CocoStudio 2.x版本导均使用node*x=csloder::createnode()来创建,而且ui场景想要播放动画,一个节点只能播放同一个文件里创建的动画,并且必须用gotoframeandplay来设置是否循环播放和播放到第几帧,不然不播放

4.(cocos经常使用)参数类型是父类,用其子类作为参数传入没有错误
因为:参数是父类,可以传递子类进去,但传进去的子类,会失去它特有的属性函数,只留下父类里有的那些属性函数,需要通过强制转换回子类型,才能重新获得特有的属性函数

5.事件派发机制:首先在需要接受消息的类里写addobserve(a,b,c,d);再在需要发送消息的类里写上postnotification(e,f);来发送,接受方会根据c(必须是string类型,不然要强制转换)来识别是不是该接受这个消息,再利用回调函数b来执行收到消息后该做的响应(全写在里面)。a一般写this表示本类接受。d可以传入传出数据(代替全局变量),f也可以做同样的事,但是必须是ref*类型,不然要自己进行强制转换,而且两个函数里不能同时写不一样的数据,不然会发生冲突导致什么都不显示。。。
传递数据的知识:

直接(int)pData强制转换就可以了
如果需要传递比较复杂的数据,比如又有字符串、又有数字、又有数组的,可以创建一个类,继承Ref,类里包含多种类型的属性
传递这个类对象,就能一次过传递很多数据了,比较方便。

6.cocostudio设置了交互以后,会吞没它下面的所有触摸事件。即表示该控件是否拦截输入,触摸等消息。使得只有这一层有交互属性(暂停跳出的界面就不用担心前一层了啦)

7.Map->getmapsize获取的是瓦片的数量而不是单块瓦片的大小,width是x方向的数量,height是y方向的

8.私有成员在头文件声明的时候没有初始化,记得在init里create或new,不然可能报错

9.Moveto匀速技巧,算出触摸点和主角之间的距离,然后除以一个比较大的数来获得你满意的移动速度

10.文件直接不能相互包含,不然会报错说"缺少;在*前面,缺少类型说明符,假定为int"

相关文章

操作步骤 1、创建cocos2d-x工程 2、新建 Scene1.cpp Scene1.h Scene1.h代码 #ifndef __SCENE1_H__#defi...
开发环境:OS(WINDOWS 8.1 X64 企业版) cocos2d-x 2.2.1 vs2010 想给vs安装上cocos的模版,执行Install...
把创建项目做成一个批处理,当创建项目时可以省时省力很多。 操作步骤 1、在 E:cocos2d-x-2.2.1toolspr...
https://www.cnblogs.com/JiaoQing/p/3906780.html 四个响应函数 1 EventListenerPhysicsContact* evC...
转载于 http://www.cnblogs.com/kenkofox/p/3926797.html 熟悉js的dom事件或者flash事件的,基本都能立...
ScrollView(滚动容器)加载大量item时会导致游戏界面的卡顿,严重时整个界面会出现卡死的情况。最近项...