quick-cocos2dx实现战争迷雾

因为在和策划讨论的时候发现游戏需要一个战争迷雾的效果,本来想到一般rts游戏的那种,但是手游不需要那么好的效果,之前我玩过一款《热战联盟》,然后还看到一个《文明变革2》的手游,出现了战争迷雾的效果,猜测了一下制作的方法,应该是用不同的云雾图素随机覆盖,然后做边缘图素替换,另一种更加消耗的做法是直接减少边缘图素的alpha值,不过看起来应该不是这么做的。由于和项目经理之前讨论的是使用cocos2dx引擎,我就和另一个程序分工,让他研究原生cocos2dx,我则直接看quick,折腾了1,2周才发现,cocos的资料真心是少,而且不全,又加上目前3D是主流,而cocos一开始从2D着手,虽然积累了一批开发者,即使现在强转3D cocos,依然觉得不伦不类,确实不如直接用unity,我想国内的手游研发阵营cocos和unity应该就占据了半壁江山了。



扯远了,网上搜索了一下,发现有使用cocos制作战争迷雾的文章http://www.benmutou.com/archives/485,仔细看了下,原理还是比较简单的,就用quick也实现了一遍,算是重新造了个轮子。用quick写起来确实比cocos要少很多代码,毕竟一个用lua写,另一个用c++写。熟悉quick代码框架的可以看看,我就改了一下mainscene.lua的代码,本来这点代码直接放gist上就行了,可惜最近gist好像被封了,放github吧,哎:https://github.com/rangercyh/quick-cocos-cases

时间: 2024-10-13 11:56:37

quick-cocos2dx实现战争迷雾的相关文章

Quick Cocos2dx 调试问题

最近由于忙了一段时间,忙完了之后又迷茫了这么久,然后终于开始继续Quick-x的学习之路了. 然后遇到了一个比较棘手的问题. 虽然照着官方mvc的例子敲代码,但是还是不停的报错,报错的问题下次集结成一个帖子发出来好了. 今次记录的是对于错误的DEUG方面的问题. 我的首选当然是Eclipse + LDT了,因为从业是自java而始,继而是AS,用得最熟的莫过与FB了. 参考的是官方的文章: 用 Eclipse LDT 调试 quick-cocos2d-x 游戏 但是,进行到配置player的时候

quick cocos2d-x 精灵大小(宽高)获取

quick下sprite的大小获取,记录一下: local w = sprite:getContentSize().width local h = sprite:getContentSize().height 今天连这个最基本的,都不知道怎么获取.挺实用的代码额~ quick cocos2d-x 精灵大小(宽高)获取,布布扣,bubuko.com

quick cocos2dx 判断坐标是否在精灵内部

local pos = ccp(10, 10)local sprite=display.newSprite("02.png")    //创建一个精灵 sprite:setPosition(ccp(10,10))self:addChild(sprite) if sprite:getBoundingBox():containsPoint(pos) then print("在内部") end quick cocos2dx 判断坐标是否在精灵内部,布布扣,bubuko.c

quick cocos2dx 3.x 配置win32工程

公司项目主体部分用c++,而ui部分用lua写,所以选择了用quick框架.项目先开发了ios/mac版,这两天试着配置其win32工程,遇到一些问题,记录一下(纯c++版本cocos2dx配置方法应该也是类似的). 先配debug模式: 把c++文件都添到工程中去,并在附加包含目录下配置c++文件的搜索路径.然后编译会遇到一些问题: 一,win32下fullPathForFilename函数与ios/mac下行为不一致的问题. fullPathForFilename当传入的参数是文件夹路径时,

quick cocos2dx 滚动条

--滚动条 labar local function valueChanged(strEventName,pSender) if nil == pSender then return end local pControl = tolua.cast(pSender,"CCControlSlider") local strFmt = nil if pControl:getTag() == 10 then print(pControl:getValue()) elseif pControl:

Quick Cocos2dx 场景对象基类实现

从使用Quick-Cocos2d-x搭建一个横版过关游戏(四)拷来个进度条类, 但是由于那个类有个bug,在setProgress里面self.fill是找不到的,所以我改进了一下,代码如下: 1 local Progress = class("Progress", function() 2 -- body 3 return display.newNode() 4 end) 5 6 function Progress:ctor(background, fill) 7 local pro

Quick Cocos2dx 与 DragonBones

照着官方的例子试验了一下DragonBone的使用,代码如下: 1 local AnotherScene = class("AnotherScene", function() 2 return display.newScene("AnotherScene") 3 end) 4 5 function AnotherScene:ctor() 6 self.curBehaviorId = 1; 7 self.layer = display.newLayer() 8 sel

Quick Cocos2dx Http通讯

服务端:Python 通讯协议:Http 参考文章: 1 用python实现一个基本的http server服务器 http://blog.sina.com.cn/s/blog_416e30630100gjyk.html 2 http://stackoverflow.com/questions/8470414/strange-jquery-error-code-501-message-unsupported-method-options 由于是照着刀塔传奇的思路来做的,刀塔传奇是无需进行常连接的

Quick Cocos2dx 场景转换问题

项目结构是这样子的: 主场景代码是这样子的: local MainScene = class("MainScene", function() return display.newScene("MainScene") end) function MainScene:ctor() self.layer = display.newLayer(); self:addChild(self.layer) self.item0 = ui.newTTFLabelMenuItem({