05 2013 档案

摘要:1,锚点锚点就是所有扭转,移动,缩放的参考点。cocos2-x中默认的锚点是中间点。锚点用比例来默示局限为0-1,(0,0)点代表左下点,(1,1)代表右上点。设置的函数为setAnchorPoint(ccp(0.5, 0.5));2,扭转setRotation(angle) 此中angle为角度不是弧度。正数为顺时针扭转,负数为逆时针扭转。3,地位setPosition(ccp(xPos, yPos)) xPos和yPos为相对于父节点锚点的地位。4,缩放setScale(s);   // 整体缩放setScaleX(s); // 原图片坐标X轴缩放set 阅读全文
posted @ 2013-05-07 16:08 Clin 阅读(243) 评论(0) 推荐(0)
摘要:cocos2d-x场景切换时内存过高导致crash解决方法在用cocos2d-x时很多人都会遇到一个问题,就是在pc上运行都是ok的,可是在ipad和andriod上面,在场景切换时时常会挂掉,用苹果自带的Instruments工具检测时,发现在场景正常运行时,内存大概保持在三四十兆,但是在场景切换时,一瞬间会达到七八十兆,遇到一些素材比较多或者层比较多的场景,则会达到一百多兆。大家知道在ipad1上面,内存最大是128M,那么这个程序如果在ipad1上面运行,肯定会经常挂掉。遇到问题,只能一步步分析,一步步找。(1)先把所有场景的retain的东西检查一遍,看看在Onexit的时候有没有re 阅读全文
posted @ 2013-05-06 16:50 Clin 阅读(630) 评论(0) 推荐(0)
摘要:Cocosd-x设计模式之 :中介者模式1、应用场景cocos2d-x里面的CCDirector类除了应用了单例模式,还应用了中介者模式。Why?因为它封装了CCScheduler、CCActionManager、CCTouchDispatcher、CCKeypadDispatcher和CCAccelerometer这五个对象的交互。它使得这几个对象之间的交互不需要显式地相互引用,使其耦合度变低。当然更多的是使得我们游戏中的对象可以方便地与这些类进行交互,而不需要显式地引用这些类。同时,由于CCDirector类被设计成单例类,这样更加方便了客户程序。由于之前CCScheduler、CCAct 阅读全文
posted @ 2013-05-06 16:48 Clin 阅读(229) 评论(0) 推荐(0)
摘要:优化Cocos2d程序的内存消耗一、避免一个接一个地加载PNG和JPG纹理(他们之间至少等待一帧)cocos2d里面纹理加载分为两个阶段:1.从图片文件中创建一个UIImage对象。2.以这个创建好的UIImage对象来创建CCTexture2D对象。这意味着,当一个纹理被加载的时候,在短时候内,它会消耗两倍于它本身内存占用的内存大小。二、尽可能少的使用jpg图片cocos2d-iphone使用JPG纹理的时候有一个问题。因为JPG纹理在加载的时候,会实时地转化为PNG格式的纹理。这意味着cocos2d-iphone加载纹理是非常慢的,而且JPG纹理将消耗三倍于本身内存占用大小的内存。一个20 阅读全文
posted @ 2013-05-06 16:47 Clin 阅读(330) 评论(0) 推荐(0)
摘要:一、C++里实现委托的例子一个打印机类的委托模式实现:Printer这个类要实现打印功能,它不是自己去实现,而是委托RealPrinter这个类来实现。更一般化的示例如下:其实委托就是一个方法,但是它可以被当作“First-class variable”来对待。即函数可以被存储,被传参,还可以从其它函数内部返回。拥有这种特性,同时大量采用这种特性的语言还有javascript,lua等,这也是现在我们津津乐道的函数式编程。c++中的函数指针,指向成员函数的指针、函数子对象都可以被存储、被传参,还可以从其它函数内部返回。而cocos2d-x里面也是大量采用了这种指向成员函数的指针来实现委托。二、 阅读全文
posted @ 2013-05-06 16:46 Clin 阅读(376) 评论(0) 推荐(0)
摘要:Cocos2d-x设计模式发掘——观察者模式1、应用场景在cocos2d-x中的CCNotificationCenter类,它除了应用单例模式以外,还应用了观察者模式。CCNotificationCenter类是观察者模式中的目标对象,而CCNotificationObserver则是观察者。一个目标对象可以注册多个观察者,当目标对象的状态改变的时候,可以通知观察者对象作出相应的响应。这是标准的观察者模式的实现,但是CCNotificationCenter稍微有些许差别。首先,CCNotificationCenter不是通过自身状态改变来通知观察者,而是通过显式地发送观察者感兴趣的消息(pos 阅读全文
posted @ 2013-05-06 16:44 Clin 阅读(510) 评论(0) 推荐(0)