- 博客(16)
- 收藏
- 关注
原创 egret自定义事件
最近在看egret的教程,根据教程实现了一个简单的成语大挑战的游戏,对中间使用的部分做了一些总结 与教材不同的是,我对按钮点击事件后的处理采用了dispatch一个自定义事件,然后在GameScene中监听了这个事件 首先自定义的事件需要继承自egret.Event,构造函数需要传值 事件类型,bubbles事件流的冒泡方式 以及cancelable 事件是否可以取消class ChangeE
2016-03-22 15:48:23
5096
原创 egret的eui以及exml使用
最近在看egret的教程,根据教程实现了一个简单的成语大挑战的游戏,对中间使用的部分做了一些总结 首先是在eui里面使用exml 使用exml布局好需要显示的内容后,需要写一个类(需要继承eui对应的控件,或者继承Component),将对应的exml文件赋值给skin,对应的控件的ID可以直接在类中声明就可以使用了class SceneBegin extends eui.Component{
2016-03-22 15:02:33
6383
原创 创建有颜色的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
395
转载 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
697
转载 颜色混合
什么是颜色混合? 简单来说就是将RGBA中的A,经行操作处理。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。 OpenGL 会把源颜色和目标颜色各自取出,并乘以一个系数(源颜色乘以的系数称为“源因子”,目标颜色乘以的系数称为“目标因子”),然后相加,这样就得到了新的颜 色。(也可以不是相加,新版本的OpenGL可以设置运算方式,包括加、减、取
2016-03-08 14:57:07
598
原创 Animation Animate Armture三个动画的使用
创建帧动画SpriteFrameCache 精灵缓冲池 第一种是读取plist文件到精灵缓冲池,获得每一帧的精灵帧,添加到Animation动画中,设置setDelayPerUnit 每一帧的时间,然后获得Animate 动作,最后播放动作 备注:怎么样才能获取plist文件里面的数量?通过判断获取到的是NULL对象来判断吗? 第二种是通过AnimationCache 管理动画的单例; 它用于
2016-03-04 21:53:11
888
原创 Button使用总结
Button 的create函数可以传入三个资源图片参数,第一个是初始的状况,第二个是点击时候的图片(如果为NULL,默认为变大),第三个是设置为不可用(Enable设置为false)的图片(如果为NULL,默认为显示为灰色)Button* button = Button::create("green_block.png"); button->setName("button"); b
2016-03-04 14:35:52
516
转载 ListView使用总结
setDirection 设置是向下滚动还是向下滚动; setTouchEnabled 设置是否可以点击 setBounceEnabled 设置是否有回弹效果,即拉到最下面之后回弹的效果 setBackGroundImage 设置背景图片 setBackGroundImageScale9Enabled 设置背景图是否开启九宫格 setSize 设置界面大小 setPosition 设置位
2016-03-03 20:12:04
1474
转载 动画帧加载过程
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
423
原创 Layout 的clone
Layout 继承ui:Widget ,如果往Layout 里面添加Sprite的时候,使用clone()函数就会没有复制Sprite对象,需要改为使用ImageView
2016-03-03 15:55:42
882
转载 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
453
转载 cocos2dx 3.0 动作
备注:只说明自己暂时用到的内容 FateIn FateOut 淡入淡出效果事件,备注:FateIn动作,需要设置前置的透明度,否则不会有效果 DelayTime 延迟动作 CCCallFunc 回调函数 CCSequence 序列动作,将动作依次执行依次,需要最后一个参数为NULL CCRepeat 重复动作,重复动作一定的次数 CCRepeatForever 不停的重复动作 CCEa
2016-03-01 09:31:09
370
转载 cocos2dx 3.0 时间调度器
cocos2dx 有三种时间调度, scheduleUpdate 需要玩家重载当前的update函数,每一帧都会调用一次,但是调度的时间是不确定的,如果是60帧的,时间在0.017s左右,通过unschedulerUpdate()停止该调度器schedule 自定义调度器 实现以一定的时间间隔连续调用某个函数,同时也可以指定调度多少次;调度的时间间隔必须大于两帧之间的最短事件(大于0.1s) 文
2016-02-29 17:19:24
540
转载 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
3915
转载 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
932
转载 cocos2dx 3.0设置精灵高亮效果
通过新建一个空白的画布 RenderTexture ,然后将精灵绘制在这块画布上,获取到单独的Image,getData到Image里面的数据后,对每个像素增加一定的值,实现高亮效果 注意: 1.已经绘制的精灵无法通过这个来进行修改,例如已经addchild显示在屏幕中的精灵auto star_sprite = static_cast<Sprite* >(rootNode->getChildBy
2016-02-26 15:13:55
3637
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人