cocos2d CCParallaxNode
来源:互联网 发布:mysql between 日期 编辑:程序博客网 时间:2024/06/06 05:50
如果我们的游戏中有地图的移动,就无法避免滚动视差。也就是说离实现越远的地方移动速度越慢,这样才可以形成景深不一样的视觉效果。
如果使用cocos2d,那我们可以很简单的实现。因为已经存在了这样一个“容器”:CCParallaxNode。对的,它肯定继承于CCNode,加入到CCParallaxNode的元素都会有一个parallaxRatio,用来决定移动的快慢。
1:构造CCParallaxNode:
和构造CCNode没有什么不同
CCParallaxNode *parallaxNode = [CCParallaxNode node];
2:向CCParallaxNode添加元素:
CCSprite *background = [CCSprite spriteWithFile:@"background.png"];//最远的背景
CCSprite *map = [CCSprite spriteWithFile:@"map.png"];//中间的地图元素
CCSprite *topImage = [CCSprite spriteWithFile:@"powered.png"];//最前景
// background image is moved at a ratio of 0.4x, 0.5y
[parallaxNode addChild:background z:-1 parallaxRatio:ccp(0.4f,0.5f)
positionOffset:CGPointZero];
// map are moved at a ratio of 2.2x, 1.0y
[parallaxNode addChild:map z:1 parallaxRatio:ccp(2.2f,1.0f)
positionOffset:ccp(0,-200)];
// top image is moved at a ratio of 3.0x, 2.5y
[parallaxNode addChild:cocosImage z:2 parallaxRatio:ccp(3.0f,2.5f)
positionOffset:ccp(200,800)];
3:解析:
parallaxRatio其实就是相对于CCParallaxNode的移动速度的比例,比如background的parallaxRatio为ccp(0.4,0.5),表示CCParallaxNode的X轴和Y轴分别移动一个点,则background分别移动0.4,0.5个点。这样看起来远背景移动的速度就慢一些了。
4:内部实现:
CCParallaxNode的内部实现其实也很简单,只需要根据parallaxRatio重新计算每个Child的位置即可。
1:构造CCParallaxNode:
2:向CCParallaxNode添加元素:
3:解析:
4:内部实现:
- cocos2d CCParallaxNode
- cocos2d-x----CCMotionStreak ,CCParallaxNode
- CCParallaxNode
- cocos2d-x节点(CCParallaxNode.h)API
- cocos2d学习笔记(六)CCParallaxNode和Tile Map
- cocos2d-x庖丁解牛(1):CCParallaxNode源码分析
- cocos2d学习笔记(六)CCParallaxNode和Tile Map
- 【Cocos2d-X开发学习笔记】第26期:游戏背景之滚动地图背景(CCParallaxNode)的使用
- 视差视图CCParallaxNode
- CCParallaxNode CCProgressTimer CCRibbon CCMotionStreak
- Cocos2DX之CCParallaxNode
- 视差节点CCParallaxNode
- (译)Cocos2d_for_iPhone_1_Game_Development_Cookbook:1.16使用CCParallaxNode
- CCParallaxNode类和视差效果
- CCParallaxNode-创建滚动背景效果
- 游戏背景之滚动地图背景(CCParallaxNode)的使用
- cocos2d
- Cocos2D
- Vurforia_Cloud_Unity
- sina sae 备案问题
- 【SVM之菜鸟实现】 python版
- android画画板
- Cocos2d-x 实现技能冷却效果
- cocos2d CCParallaxNode
- 墓地的女孩
- 维特比算法[Wiki]
- 【图像算法】七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)
- TCP/IP三次握手原理
- 我为什么叫李思家
- 技术普及帖:你刚才在淘宝上买了一件东西
- Linux 命令操作之 如何运行 SH文件
- 最短路