cocos2dx
weppleafso
这个作者很懒,什么都没留下…
展开
-
Layout 的clone
Layout 继承ui:Widget ,如果往Layout 里面添加Sprite的时候,使用clone()函数就会没有复制Sprite对象,需要改为使用ImageView原创 2016-03-03 15:55:42 · 821 阅读 · 0 评论 -
cocos2dx 3.0 时间调度器
cocos2dx 有三种时间调度, scheduleUpdate 需要玩家重载当前的update函数,每一帧都会调用一次,但是调度的时间是不确定的,如果是60帧的,时间在0.017s左右,通过unschedulerUpdate()停止该调度器schedule 自定义调度器 实现以一定的时间间隔连续调用某个函数,同时也可以指定调度多少次;调度的时间间隔必须大于两帧之间的最短事件(大于0.1s) 文转载 2016-02-29 17:19:24 · 509 阅读 · 0 评论 -
cocos2dx 3.0调用点击事件
cocos2dx 3.0调用点击事件 设置可点击this->setTouchEnabled(true)1.创建Eventlistener监听器 2.设置该监听器可以向下传递事件listen->setSwallowTouches(true);3.添加onTouchesBegan onTouchesCanceled onTouchesMoved onTouchesEnded 等事件的实现,注:必须转载 2016-02-26 15:54:35 · 3886 阅读 · 0 评论 -
cocos2dx 重载node绘制基本图形
由于需要绘制一个圆形的攻击范围,又不想通过加多一个layer的方式来实现,于是重载了draw函数,在node中draw函数有两个,一个是virtual void draw () final另外一个是virtual void draw (Renderer *renderer, const kmMat4 &transform, bool transformUpdated)第一个不可以重载,因转载 2016-02-26 15:22:23 · 916 阅读 · 0 评论 -
cocos2dx 3.0设置精灵高亮效果
通过新建一个空白的画布 RenderTexture ,然后将精灵绘制在这块画布上,获取到单独的Image,getData到Image里面的数据后,对每个像素增加一定的值,实现高亮效果 注意: 1.已经绘制的精灵无法通过这个来进行修改,例如已经addchild显示在屏幕中的精灵auto star_sprite = static_cast<Sprite* >(rootNode->getChildBy转载 2016-02-26 15:13:55 · 3593 阅读 · 0 评论 -
cocos2dx 3.0 动作
备注:只说明自己暂时用到的内容 FateIn FateOut 淡入淡出效果事件,备注:FateIn动作,需要设置前置的透明度,否则不会有效果 DelayTime 延迟动作 CCCallFunc 回调函数 CCSequence 序列动作,将动作依次执行依次,需要最后一个参数为NULL CCRepeat 重复动作,重复动作一定的次数 CCRepeatForever 不停的重复动作 CCEa转载 2016-03-01 09:31:09 · 349 阅读 · 0 评论 -
创建有颜色的Layer
layer默认的锚点为(0,0),如果不使用layer->ignoreAnchorPointForPosition(false);那么锚点位置无法修改auto layer = LayerColor::create(Color4B(0, 255, 0, 255), 320, 320); auto size = Director::getInstance()->getVisibleSize();原创 2016-03-09 20:52:02 · 371 阅读 · 0 评论 -
Label
//创建普通的文本标签,效果和CCLabelTTF::create(...);一样。TTFConfig是什么?下面会介绍 static Label * create(const std::string& text, const std::string& fontName, float fontSize, const Size& dimensions = Size::ZERO, Tex转载 2016-03-08 16:14:27 · 681 阅读 · 0 评论 -
颜色混合
什么是颜色混合? 简单来说就是将RGBA中的A,经行操作处理。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。 OpenGL 会把源颜色和目标颜色各自取出,并乘以一个系数(源颜色乘以的系数称为“源因子”,目标颜色乘以的系数称为“目标因子”),然后相加,这样就得到了新的颜 色。(也可以不是相加,新版本的OpenGL可以设置运算方式,包括加、减、取转载 2016-03-08 14:57:07 · 574 阅读 · 0 评论 -
Animation Animate Armture三个动画的使用
创建帧动画SpriteFrameCache 精灵缓冲池 第一种是读取plist文件到精灵缓冲池,获得每一帧的精灵帧,添加到Animation动画中,设置setDelayPerUnit 每一帧的时间,然后获得Animate 动作,最后播放动作 备注:怎么样才能获取plist文件里面的数量?通过判断获取到的是NULL对象来判断吗? 第二种是通过AnimationCache 管理动画的单例; 它用于原创 2016-03-04 21:53:11 · 870 阅读 · 0 评论 -
Button使用总结
Button 的create函数可以传入三个资源图片参数,第一个是初始的状况,第二个是点击时候的图片(如果为NULL,默认为变大),第三个是设置为不可用(Enable设置为false)的图片(如果为NULL,默认为显示为灰色)Button* button = Button::create("green_block.png"); button->setName("button"); b原创 2016-03-04 14:35:52 · 496 阅读 · 0 评论 -
ListView使用总结
setDirection 设置是向下滚动还是向下滚动; setTouchEnabled 设置是否可以点击 setBounceEnabled 设置是否有回弹效果,即拉到最下面之后回弹的效果 setBackGroundImage 设置背景图片 setBackGroundImageScale9Enabled 设置背景图是否开启九宫格 setSize 设置界面大小 setPosition 设置位转载 2016-03-03 20:12:04 · 1430 阅读 · 0 评论 -
动画帧加载过程
SpriteFrame 需要创建一帧帧的精灵,然后通过Animation进行合并成一个动画,Animate是一个action,用来加载动画,然后进行播放 anim_array = Array::create(); anim_array->retain(); Vector<SpriteFrame* > frameArray; for (int i = 0; i < 4;转载 2016-03-03 20:02:06 · 414 阅读 · 0 评论 -
cocos2dx 3.0 box2D碰撞相关
关于box2D碰撞过程中三个函数在源代码 setCategoryBitmask(int bitmask) setContactTestBitmask(int bitmask) setCollisionBitmask(int bitmask)源码: // bitmask check if ((shapeA->getCategoryBitmask() & shapeB->getConta转载 2016-03-01 10:14:30 · 439 阅读 · 0 评论