
Cocos2d-x
文章平均质量分 56
tsbyj
这个作者很懒,什么都没留下…
展开
-
Cocos2d-x中createEdgeBox()的各项参数的含义
PhysicsBody::createEdgeBox()的定义如下:原创 2015-07-27 10:35:08 · 2407 阅读 · 0 评论 -
Cocos2d-x中,使用Image类获取图片某一点的颜色
要获取图片的某一点的颜色,先要创建Image对象。Image* test = new Image();//使用图片名初始化Imagetest->initWithImageFile("test.png");Image会开辟一段内存用来存储图片的颜色信息。存储的方法是每一像素点用4个字节来存储,其中4个字节分别存储了颜色的R\G\B\A,也就是红、绿、蓝和透明度。由于在32位的情况下,原创 2015-08-13 00:07:16 · 1832 阅读 · 0 评论 -
Cocos2d-x中AnimationCache的用法
AnimationCache是一个单例类。可以用来存储创建好的Animation.存储时使用函数void addAnimation(Animation* animation,const std::string & name)将一个Animation变量和它的名字存储到AnimationCache中。删除时使用函数void removeAnimation(const std::string&原创 2015-07-21 17:31:45 · 1060 阅读 · 0 评论 -
Cocos2d-x中,ControlSlider的基本用法
ControlSlider是一个可滑动的控件,有一个背景,一个前景,一个可滑动的按钮组成。下面是它的create函数://使用图片创建static ControlSlider* create(const char* bgFile, const char* progressFile, const char* thumbFile); //使用精灵创建static ControlSl原创 2015-08-15 02:06:48 · 2020 阅读 · 0 评论 -
Cocos2d-x中获取系统时间
在Cocos2d-x中,有时需要获取当前系统的时间。方法如下:time_t t = time(NULL);//创建time_t变量并初始化tm* lt = localtime(&t);//创建tm*变量,将其指向localtimelog("%d", lt->tm_hour);//显示现在小时log("%d", lt->tm_min);//显示现在分钟log("%d", lt->tm_s原创 2015-07-24 14:12:51 · 621 阅读 · 0 评论 -
Cocos2d-x中的CCARRAY_FOREACH的使用
CCARRAY_FOREACH是Cocos2d-x中经常被用到的一个宏,它提供了对__Array的正向遍历。CCARRAY_FOREACH的定义如下:#define CCARRAY_FOREACH(__array__, __object__)原创 2015-07-22 16:36:57 · 1170 阅读 · 0 评论 -
Cocos2d-x中,实现类似捕鱼达人的炮台
要实现一个炮台,可以先把子弹放一边,把炮台的事给搞定。炮台需要做的就是当点击屏幕上某一点时,炮台会旋转,并且指向该点。把旋转的方法写到onTouchBegan里面即可,代码如下:bool HelloWorld::onTouchBegan(Touch* touch, Event* event){ //获取点击的位置 touchPoint = touch->getLocation();原创 2015-08-05 17:28:50 · 2114 阅读 · 1 评论 -
Cocos2d-x中,ActionInstant类的各个子类
API文档中,ActionInstant类的解释是这样的:Instant actions are immediate actions.Inherits FiniteTimeAction.Inherited by CallFunc, FlipX, FlipY, Hide, Place, RemoveSelf, ReuseGrid, Show, StopGrid, and ToggleVi原创 2015-08-21 10:52:52 · 607 阅读 · 0 评论 -
Cocos2d-x中,Speed类的使用
跟Follow类一样,Speed类也是直接继承于Action类的。API文档中,对Speed类的解释如下:Changes the speed of an action, making it take longer (speed>1) or less (speedSpeed类的Create函数如下:static Speed* create(ActionInterval* acti原创 2015-08-23 12:33:15 · 1385 阅读 · 0 评论 -
Cocos2d-x中,在过渡场景异步加载图片和声音
游戏需要在过渡场景中完成对资源的加载。对于图片的加载,可以使用TextureCache::addImageAsync或是TextureCache::addImage加载。TextureCache::addImage为同步加载,其会在主线程中进行图片加载,这就有可能在加载时间比较长时,阻塞主线程。TextureCache::addImageAsync为异步加载,其在加载时会创建新的线原创 2015-08-11 17:06:47 · 1045 阅读 · 0 评论 -
Cocos2d-x中,创建Animate的几种方法
可以把常见的Animate的创建方法封装成几个函数,在使用时进行调用。第一种方法使用do...while循环实现,不需要知道图片的数量,只要有图片的名字就可以,代码如下:Animate* Create(const char *iName, int iloops, float delay){ SpriteFrame* frame = NULL; Animation* animation原创 2015-08-11 11:03:35 · 810 阅读 · 0 评论 -
Cocos2d-x中,如何更快地加载大量重复粒子
上次看一个教程,是用ClippingNode,Image和粒子,写的一个能把图片一点一点消除的程序,而且消除的时候会在消除的部分创建一个相同颜色的粒子效果,看起来还是挺炫的。不过遇到了一个问题,教程上是每次都通过文件创建粒子,实际上这样创建的话,如果图片比较大,那么需要创建非常多非常多的粒子,就会造成卡顿。通过翻看代码,发现ParticleSystemQuad类有一个创建函数如下:st原创 2015-08-25 08:37:43 · 903 阅读 · 0 评论 -
Cocos2d-x中,如何通过触摸来移动一个精灵
Cocos2d-x中,如何通过按住一个精灵移动手指,使精灵跟随手指移动,方法如下:首先添加精灵,定义触摸事件bool HelloWorld::init(){ if ( !Layer::init() ) { return false; } ball = Sprite::create("Ball.png"); auto listener = EventListenerTo原创 2015-07-27 12:46:26 · 1372 阅读 · 0 评论 -
Cocos2d-x中关于schedule函数的一点理解
今天看到一段代码,如下:this->schedule(schedule_selector(HelloWorld::Hello),20.0);因为函数的参数没有写全,所以就像看看schedule函数别的参数默认情况下是什么情况,发现schedule函数两个参数的情况下,构造函数如下:原创 2015-07-22 06:14:41 · 1149 阅读 · 0 评论 -
Cocos2d-x中,使用NotificationCenter在Layer之间传输数据
使用NotificationCenter在同场景的不同层之间传输数据:1.在第一个层里添加发送消息的函数bool HelloWorld::init(){ scheduleOnce(schedule_selector(HelloWorld::sendMsg), 3.0f); //在3秒后调用sendMsg函数 return true;}void HelloWorld::sen原创 2015-07-28 12:39:00 · 494 阅读 · 0 评论 -
Cocos2d-x中,addObserver如何传递消息
addObserver这个函数一般是用来接收消息的,但是这个函数的定义如下:void __NotificationCenter::addObserver(Ref *target, SEL_CallFuncO selector, const原创 2015-07-28 16:45:07 · 1350 阅读 · 0 评论 -
Cocos2d-x中,onEnter与init的区别
这个问题我百度了下,没有找到好的答案,google了一下,找到了我想要的答案,都是很简单的英文,不翻译了。原链接:https://stackoverflow.com/questions/20769747/difference-between-cclayerinit-and-cclayeronenter/20773133#20773133Cocos2d-x has its mem转载 2015-07-27 18:01:47 · 657 阅读 · 0 评论 -
Cocos2d-x中,ProgressTo类的使用
ProgressTo类继承于ActionInterval类,所以是一个间隔动作。API文档中对其描述如下:Progress to percentage.简单的我已经懒得吐槽了。还是看看官方的示例吧,示例的代码如下: auto s = Director::getInstance()->getWinSize(); auto to1 = Sequence::cre原创 2015-08-23 17:58:55 · 2110 阅读 · 0 评论 -
Cocos2d-x中,ProgressTimer类的用法
ProgressTimer类继承于Node.ProgressTimer类的create函数定义如下:static ProgressTimer* create(Sprite* sp);可以看出它是通过Sprite类对象创建的。它有两个Type:enum class Type{ RADIAL,/** Radial Counter-Clockwise. */ BAR原创 2015-08-23 23:58:39 · 2562 阅读 · 0 评论 -
Cocos2d-x中,反转横板游戏里的主角
有些横板游戏中的主角需要既能往前跑,也能往后跑。此时并不需要两套素材和两个精灵。只需要使用精灵的setFlippedX函数即可完成,并且使用精灵进行的动画也都可以实现水平翻转。一个小例子如下:bool HelloWorld::init(){ if ( !Layer::init() ) { return false; } Size visibleSize = Directo原创 2015-08-10 18:01:27 · 782 阅读 · 0 评论 -
Cocos2d-x中,Follow类的使用
Follow类是直接继承自Action类的,地位很高啊。API文档中对于它的作用介绍如下:Follow is an action that "follows" a node.还是一贯的言简意赅。Follow类的Create函数如下:static Follow* create(Node *followedNode, const Rect& rect = Rect::ZERO)原创 2015-08-22 23:58:52 · 3099 阅读 · 0 评论