我们知道,当我们移动时,我们会看到离我们越近的物体,会移动的越快,越远的物体,比如远处的山会移动的很慢,而最远处的物体,比如太阳几乎不动,这个现象叫视差,而在游戏中模仿视差,可以让玩家感觉到游戏中的角色的确是在移动。CCParallaxNode可以很容易的建立一个视差层,你可以控制每一层的视差率、位置和层级的高低。
 

Link: http://codepad.org/Wj0lMgvJ    [ raw code | fork ]  
local mapRes={
near=string.format("%s.%s",Resource_1.map.near.loc,Resource_1.map.near.rtype),
middle=string.format("%s.%s",Resource_1.map.middle.loc,Resource_1.map.near.rtype),
far=string.format("%s.%s",Resource_1.map.far.loc,Resource_1.map.near.rtype)
} local MapParallaxNode=class("MapParallaxNode",function()
return cc.ParallaxNode:create()
end) MapParallaxNode.ctor=function(self)
local s=cc.Director:getInstance():getVisibleSize()
self._nearBg=nil
self._middleBg=nil
self._farBg=nil
self._layerNode=nil self:initFarBg()
self:initMiddleBg()
self:initNearBg() self:setPosition(,)
self:setAnchorPoint(cc.p(,))
self:addChild(self._farBg, -, cc.p(0.03,), cc.p(,s.height+))
self:addChild(self._middleBg, , cc.p(0.18,), cc.p(,s.height*/+) )
self:addChild(self._nearBg, , cc.p(0.65,), cc.p(,s.height*/+))
end --初始化地图近景
MapParallaxNode.initNearBg=function(self)
local cache=cc.Director:getInstance():getTextureCache()
local texture=cache:getTextureForKey(mapRes.near)
local sprite=cc.Sprite:createWithTexture(texture)
sprite:setPositionX()
sprite:setScale(0.43)
sprite:setAnchorPoint(cc.p(,))
self._nearBg=sprite
end --初始化地图中景
MapParallaxNode.initMiddleBg=function(self)
local cache=cc.Director:getInstance():getTextureCache()
local texture=cache:getTextureForKey(mapRes.middle)
local sprite=cc.Sprite:createWithTexture(texture)
sprite:setScale(0.7)
sprite:setAnchorPoint(cc.p(,))
self._middleBg=sprite
end --初始化地图远景
MapParallaxNode.initFarBg=function(self)
local cache=cc.Director:getInstance():getTextureCache()
local texture=cache:getTextureForKey(mapRes.far)
local sprite=cc.Sprite:createWithTexture(texture)
sprite:setScale(0.4)
sprite:setAnchorPoint(cc.p(,))
self._farBg=sprite
end MapParallaxNode.create=function(self)
return MapParallaxNode.new()
end return MapParallaxNode
 
CCParallaxNode添加视差精灵的函数:
    
 
 self:addChild(self._farBg, -1, cc.p(0.03,0), cc.p(0,s.height+20)) self:addChild(self._middleBg, 1, cc.p(0.18,0), cc.p(5,s.height*2/3+90) ) self:addChild(self._nearBg, 2, cc.p(0.65,0), cc.p(0,s.height*2/3+40)) 

parallaxRatio是设置不同层的x,y移动速度

 

【Cocos2dx 3.x Lua】CCParallaxNode使用的更多相关文章

  1. Cocos2d-x 3.2 Lua演示样例 ClickAndMoveTest(点击移动測试)

    Cocos2d-x 3.2 Lua演示样例 ClickAndMoveTest(点击移动測试)  本篇博客介绍Cocos2d-x 3.2Lua演示样例中点击移动的样例,在这个样例你能够得到怎样创建单点触 ...

  2. Cocos2d-x 脚本语言Lua中的面向对象

    Cocos2d-x 脚本语言Lua中的面向对象 面向对象不是针对某一门语言,而是一种思想.在面向过程的语言也能够使用面向对象的思想来进行编程. 在Lua中,并没有面向对象的概念存在,没有类的定义和子类 ...

  3. Cocos2d-x 3.2 Lua演示样例 XMLHttpRequestTest(Http网络请求)

    Cocos2d-x 3.2 Lua演示样例 XMLHttpRequestTest(Http网络请求)     本篇博客介绍Cocos2d-x 3.2Lua演示样例中的XMLHttpRequestTes ...

  4. Cocos2d-x 3.2 Lua演示样本CocosDenshionTest(音频测试)

    Cocos2d-x 3.2 Lua演示样本CocosDenshionTest(音频测试)  本篇博客介绍Cocos2d-x 3.2中Lua演示样例的音频測试.Cocos2d-x使用SimpleAudi ...

  5. Cocos2d-x 脚本语言Lua使用

    Cocos2d-x 脚本语言Lua使用 前面几篇博客已经把Lua的相关基础知识介绍了.本篇博客就来介绍一下,怎样在Cocos2d-x项目中使用Lua这门脚本语言进行开发.因为笔者使用的时Mac系统.所 ...

  6. 笔记:利用Cocos2dx 3.3 lua 做一个动作类游戏(一)

    在这之前,声明一下: 做不完我是小狗. 没办法,没毅力和恒心,之前的那个Quick Cocos2dx做的横版过关游戏的demo已经转成了3.3的版本了,其实也算是个半成品,战斗,UI啥的都有了,呵呵. ...

  7. 【Cocos2dx 3.3 Lua】滚动字幕

    参考资料:     http://blog.csdn.net/jackystudio/article/details/12991977   1.原理         通过调用update来更新位置达到 ...

  8. 【Cocos2dx 3.3 Lua】定时器事件

    Cocos2dx 3.x Lua 中使用定时器有两种方式: (1)self:scheduleUpdateWithPriorityLua(update, priority) > 参数一:刷新函数 ...

  9. 【Cocos2dx 3.x Lua】TileMap使用

    1.编辑TileMap地图资源 2.Cocos2dx 3.x Lua中使用TileMap   Link: http://codepad.org/P0nFP1Dx  local TileMap=clas ...

  10. Cocos2d-x 3.2 Lua演示样例 AssetsManagerTest(资源管理器)

    Cocos2d-x 3.2 Lua演示样例 AssetsManagerTest(资源管理器) 本篇博客介绍Cocos2d-x 为我们提供的一个类--AssetsManager在Lua中的使用样例,效果 ...

随机推荐

  1. WP8.1学习系列(第五章)——中心控件Hub或透视控件Pivot交互UX

    具有主页菜单(中心或透视控件)的中心应用中心 你可能要设计包含许多功能的应用.当你看着这些功能时,可能会决定将它们整理到独立的区域中.这些区域最终会成为用户要访问的应用的独立部分.你需要设计一个简便的 ...

  2. SQL SERVER 2008 R2安全配置与防暴力破解

    https://blog.csdn.net/enweitech/article/details/49864215 0x00 sql server 2008 权限介绍 在访问sql server 200 ...

  3. 【大数据系列】hadoop命令指导官方文档翻译

    Hadoop Commands Guide Overview Shell Options Generic Options User Commands archive checknative class ...

  4. echarts - 树图实现四个层级

    我相信很多人和我一样,制作echats图标时,都会先去demo官网找相同的或者近似的效果,然后再此基础上改进成我们想要的那个. 但是近期混迹某微信群时,我看到一个群友抛出问题说,echarts画树状图 ...

  5. Free Download Manager (FDM) 中文版 - 替代迅雷最佳免费开源下载工具软件

    https://www.freedownloadmanager.org/ Free Download Manager (FDM) 是一款经典免费纯粹的下载软件,它开源无广告,界面简洁清爽,支持 BT. ...

  6. sencha touch list更新单行数据

    http://www.cnblogs.com/mlzs/p/3317570.html 如此章所说,点击按钮需要实时更新视图 操作代码如下: onTasteUp: function (list, rec ...

  7. shell 进制转换

    包括: i.任意进制转化为十进制((num=base#number)) [base和number必须一致,是同一种进制] ii.十进制转化为任意进制`echo "obase=进制;值&quo ...

  8. Linux应急处理操作手册

    基础准备--命令防篡改与命令记录 很多黑客入侵到操作系统后,会做两个常见的操作unset history和替换命令文件(或者对应的链接库文件),针对这两点要做好记录shelllog并且检查链接库类文件 ...

  9. 本地项目通过github客户端上传到github网站上

    一.github客户端上传步骤 一.github客户端上传步骤1.百度搜索关键字: GitHub 离线安装包 ==> Github_3.3.4.0版本链接:https://pan.baidu.c ...

  10. Ant的Manifest任务

    建立一个清单文件,他将放入某个jar,作为jar文件的说明书.其中,在清单文件可以指定jar文件的main-class,jar文件将可以直接运行.例子: <manifest >   < ...