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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值