微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关于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"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐