cocos2dx
文章平均质量分 56
涐一直都在
这个作者很懒,什么都没留下…
展开
-
cocos2dx+lua注册事件函数详解
registerScriptTouchHandler 注册触屏事件registerScriptTapHandler 注册点击事件registerScriptHandler 注册基本事件 包括 触屏 层的进入 退出 事件registerScriptKeypadHandler 注册键盘事件registerScriptAccelerateHandler 注册加速事件registerScriptTouchH转载 2015-10-20 22:13:11 · 335 阅读 · 0 评论 -
缓慢增加的能量条的实现
之前我们有用ProgressTimer实现技能CD,现在我们用它来实现一个能量条满的过程。 需求如下: 1.当没满一小格时底层不透明的匀速增加 2.当满一小格时上一层的从格子左边立马推进,同时这个格子会亮一下(用特效实现) 3.当整个能量条满时播放流光特效 部分代码: local sprite = cc.Sprite:create("ui/Resources/btn/btn_原创 2016-09-12 16:05:03 · 1507 阅读 · 0 评论 -
CCScale9Sprite实现技能选中效果
如图,当我们选中技能的时候,要用个框把需要的技能点数框起来,提示玩家消耗的能量。美术出图就出一个白色的一个的框,当需要的能量大于1时,如果仅仅将框放大,会失真严重。这个时候我们想到了九妹。【CCScale9Sprite】对于CCScale9Sprite类,不知道该怎么翻译,有人叫它点九图,有人叫它九宫图,有有人叫它九妹图。i_f08.gif那么什么是CCScale9Sprite呢?CCScale9S原创 2016-09-12 17:46:00 · 1209 阅读 · 0 评论 -
setEnabled和setTouchEnabled的区别
local TankShowLayer = class("TankShowLayer", function () return cc.Layer:create() end)local modelList = { [1] = "res/model3d/1000_Tianqi/tianqitanke.c3b", [2] = "res/model3d/1001_Guangleng/gu原创 2016-09-13 16:22:11 · 5987 阅读 · 1 评论 -
上下级控件同名引发的血案
如图,本来是想美术出5个星星的图案,让其都能居中显示。本来很简单的一件事,结果导出发现坦克模型跑到框下面去了。然后找了大半个小时才发现居然是模型层跟2个星星的层同名了,而且在同一级。好吧,把模型的名字改了,然后发现还是不行,整个tableview都显示是空的。--设置tableview里cell的内容function BuZhenMainUI:setCellContent(cell,tank)原创 2016-09-14 18:23:08 · 307 阅读 · 0 评论 -
暗黑远征总结
1.v.text = string.sub(v.text,7,-1)--去掉buff的名字,例如:v.text = 攻击#C(#00EE00)+%s,这时候要去掉前面的攻击2字,用string.sub,但是起始位置是7,因为一个中文占3个字节。2.如图,pageview翻页除了用手指滑动,还可以实际左右两个翻页按钮,但是要做好按钮灰化的同步。可以监听翻页事件,然后在事件里面做同步。lo原创 2016-05-27 16:41:03 · 715 阅读 · 0 评论 -
防止tableview滚动误点击
![这里写图片描述](http://img.blog.csdn.net/20160919111512396)如图所示,我们实现了点击tableview里的坦克上、下阵,但是有个问题就是当我们滚动tableview松开鼠标的时候会有误操作,而我们需要的效果是滚动时不会选中,不滚动时才会选中。 以下是第一次修改的部分代码:--点击时调用接口function BuZhenMainUI:bindIte原创 2016-09-19 11:39:47 · 933 阅读 · 0 评论 -
cocos2dx屏幕适配
手机的屏幕大小千差万别,如现在流行的安卓手机屏幕大部分长宽比例为16:9。而iPhone 5S的长宽比例为71:40(接近16:9),也有预测说iPhone 6S的长宽比例也将会是主流的16:9。另外还有一些平板电脑为4:3、16:10、5:4等等。当然还有一些其他的牌子可能屏幕比例也不一样。 要想让你的程序在各种手机上都能很好的呈现游戏画面,就需要进行屏幕适配。【致原创 2016-09-06 16:00:50 · 470 阅读 · 0 评论 -
实现SLG地图
要实现一副SLG地图,基本元素有5块地皮,有四块地皮上不能放东西,一块地皮上可以放主城或者是晶石。策划文档如上,要实现的效果如下: 源 代码:local MapUI = class("MapUI", function () return cc.Layer:create() end)function MapUI:ctor() self.mapLayer =cc.Layer:creat原创 2016-09-23 18:34:17 · 5490 阅读 · 0 评论 -
cocos2dx 3.x 相机机制
cocos2dx 3.x 相机机制一,3.x相机使用方法: CCSize winSize=CCDirector::sharedDirector()->getWinSize();Camera* camera=Camera::create();camera->setCameraFlag(CameraFlag::USER1);this->addChild(camera);sprite->setCamer原创 2016-09-30 17:28:37 · 3635 阅读 · 1 评论 -
cocos2d-x中Contestsize和Dimensions有什么不同?
其他他们直接的差别不大,都是节点未转化前大小!Dimensions翻译为:规模,大小; 我们先看一下他们的源码: /* Sets the untransformed size of the Label in a more efficient way.(其实就是一种更加高效的设置Size的方式) / void Label::setDimensions(float width, float hei原创 2016-11-08 20:55:51 · 559 阅读 · 0 评论 -
实现技能CD
local cool = cc.Sprite:create("res/common/image/icon/cd.png")--黑色半透明图片 cool:setPosition(self.icon:getPosition()) self.view:addChild(cool,4) local sprite = cc.Sprite:create(self.res)--原创 2016-08-31 17:54:38 · 569 阅读 · 0 评论 -
LuaJavaBridge - Lua 与 Java 互操作的简单解决方案
LuaJavaBridge - Lua 与 Java 互操作的简单解决方案Table of Contentsluaj 主要特征luaj 用法示例luaj 实现原理查找并调用指定的 Java 方法检查调用结果,并从 Java 方法获取返回值将 Lua function 作为参数传递给 Java 方法在 Java 方法中调用 Lua functionGL 线程和 U转载 2016-08-04 16:20:57 · 557 阅读 · 0 评论 -
详解cocos2dx状态机
目录注:写这篇文章的时候,笔者所用的是quick-cocos2d-x 2.2.1rc版本。quick状态机状态机的设计,目的就是为了避免大量状态的判断带来的复杂性,消除庞大的条件分支语句,因为大量的分支判断会使得程序难以修改和扩展。但quick状态机的设计又不同设计模式的状态模式,TA没有将各个状态单独划分成单独的状态类,相反根据js、lua语言的特点,特别设计了写原创 2016-08-03 18:06:24 · 1048 阅读 · 0 评论 -
魔兽军团前端项目的一些总结
1.当打通本关开启下一关卡时增加一个解锁特效,特效播完之后再播放水晶指示特效,其他时候接入地图不播放关卡解锁特效。if adjustFlag == true or (newChapter == nowChapter and nil ~= lastBtn) then local x,y = lastBtn:getPosition() local parent = l原创 2015-10-29 23:05:49 · 677 阅读 · 0 评论 -
cocos2dx之定时器
定时器用的地方还是比较多的,游戏中的逻辑判断很多都是采用每帧执行。quick对于schedule的封装在scheduler这个lua文件中。如果是第一次接触quick的话,可能按照官方的api来写一个定时器被报错,提示schedule是一个nil值,这是因为其他的模块在初始化时都是被加载的,唯独这个scheduler没有载入,所以在使用的时候,第一件事是引入这个模块,local scheduler转载 2015-10-20 22:38:41 · 342 阅读 · 0 评论 -
Node之锚点
local function Test2() local layer = getBaseLayer()local sp1 = cc.Sprite:create(s_pPathSister1)local sp2 = cc.Sprite:create(s_pPathSister2)local sp3 = cc.Sprite:create(s_pPathSister1)local sp4原创 2015-10-20 21:46:47 · 632 阅读 · 0 评论 -
Node之tags
local Test4_layer = nil local Test4_delay2Entry = nil local Test4_delay4Entry = nillocal function delay2(dt)//dt为时间间隔 print(dt) node = Test4_layer:getChildByTag(2) local action1 = cc.R原创 2015-10-20 23:00:05 · 442 阅读 · 0 评论 -
Node之remove and clean
local Test5_entry = nillocal Test5_layer = nillocal function Test5_addAndRemove(dt) local sp1 = Test5_layer:getChildByTag(kTagSprite1) local sp2 = Test5_layer:getChildByTag(kTagSprite2原创 2015-10-22 14:43:54 · 441 阅读 · 0 评论 -
Cocos2dx坐标系,锚点
注:ccp是cocos2dx中的一个宏定义, #define ccp(__X__,__Y__)CCPointMake((float)__X__, (float)__Y__), 在此文章中表示坐标信息 1、笛卡尔坐标系 你可能在学校的几何学上已经知道笛卡尔坐标系。如果你忘记了,下面的图片可以让你回忆一下: 有3中类型的坐标系在游戏开发中你会用的到。 1)UI坐标系转载 2015-10-15 18:04:20 · 544 阅读 · 0 评论 -
TableView
一、什么是TableView?这个东西啊,很多游戏,结束后的排行榜,比如里面有20个内容,但是由于窗口受限,不能全部展示,所以像滚动条一样可以纵向(当然也可以横向)拉动的东东。这个也要和ListView和PageView不一样的,? 与ListView相比ListView以前我也没用过,网上资料查到的也不多,就讲一下最大的不同吧。ListView中的每个单元称为item,Tab原创 2016-03-07 21:26:11 · 661 阅读 · 0 评论 -
setZOrder改名叫setlLocalZOrder
这篇博客的标题本想叫“...3.0新的渲染...介绍”,最后还是拉不下这个脸。为啥?觉得自己对渲染的认识还是过于表面,谈不上理解。当然了,这并不影响这篇博客继续写下去。下面看一段3.0Release Notes 对于新渲染器的一段介绍:Node 增加了新的函数 setGlobalZOrder() / getGlobalZOrder(),之前的旧函数 setZOrder() / getZOrde转载 2016-03-24 19:08:31 · 739 阅读 · 0 评论 -
设置button的禁用状态
按钮一般有三种状态:常用,点击,禁用,并且对应可设置三种不同的纹理图标。当需要设置禁用状态时,setTouchEnabled(false)还是不显示禁用的纹理,此时需要setBright(false)才行。原创 2016-03-15 09:50:39 · 3495 阅读 · 0 评论 -
]cocos2d-x里子Sprite随父Sprite透明度变化
到这个问题,可能很多人早就知道了,这里就当做个记录好了。之前用老版本用久了,貌似没有发现子Sprite会随父Sprite的透明设置Opacity变化而变化。所以之前有Sprite嵌套的情况下处理的办法都是在每帧更新的时候去手动加上设置Opacity的代码。比如update(){this->setOpacity(getParent()->getOpacity());}转载 2016-05-09 15:13:35 · 935 阅读 · 0 评论 -
图文混排
local ImgTextControl = class(ImgTextControl,function() return cc.Node:create() end)TextHAlignment ={ LEFT=0, CENTER=1, RIGHT=2}TextVAlignment = { TOP=0, CENTER=1, BOTTOM=2,原创 2016-11-09 18:02:54 · 530 阅读 · 0 评论