大神们请进,Camera怎么用?

有3个层,分别是背景层、地图层、UI层。

要求:背景层在底层且静止不动,UI层在最顶层且静止不动。

现用Camera跟拍主角实现地图层的运动,给地图层设置CameraMask

此时,地图层在最底层,被背景层和UI层覆盖住了
设置Camera深度setDepth大于0,此时地图层在最顶层,盖住了背景层和UI层。
怎么让地图层在背景层和UI层之间,而且又可以实现camera跟拍

【已解决】

昨天也在研究camera,这方面的教程比较少,看了Test中的demo也还是没完全弄懂。
期待有熟悉的人回答一下

1赞

背景也加到相机节点上,相机不用改depth。

相机主要给3D用的,相当于摄像头。

感谢回答。相机位置是跟着主角移动的,背景加到相机节点上背景也会动的

背景加到相机上,就是相对屏幕不动了呀。

背景加到相机上,背景位置会跟随父节点(相机)的位置, 由于相机是跟着主角跑的,所以相机的位置一直增大,所以背景的位置也一直增大。
把背景加到相机节点上,默认相机深度,效果如图:

:6::3::3:

:12: 楼主问题解决了没。。3.x的相机太蛋疼了。。

你们做2D吗?,做2D不要用相机!!!!!!!!!!!!!!!!!!!!!!!!!!!!

解决了,用多个相机,设置每个相机的深度

Why? 无论2D 3D cocos本就有默认相机啊,为什么不要用

2D用相机更麻烦~~~~

楼主弱弱问个问题,
那个车车更随地形起伏,怎么实现的啊

那要如何实现呢,我现在是用PhysicsSprite创建了一个主角,需要镜头跟着主角动实现地图滚动。。这个要怎么实现呢。。。求教

不用相机
自己创建一个空节点,把地图和主角都放在空节点里,主角向前多少,空节点就反方向移动多少(或者也可以加个修正)

如果地形很大这样移动岂会不会很耗内存?效率高吗

镜头的移动最后转换成节点移动,也就是说你用镜头反而慢了~~~~~~~~~~~~~~

我用的是封装物理引擎, 地形是 PhysicsShapeEdgeChain 车是Physicsbody

我是从这里看到有人建议用Camera:http://www.cocoachina.com/bbs/read.php?tid-290390-page-1.html
如果镜头的移动最后转换成节点移动,可我log到的位置都是没有变化的

GL是没摄像机的,也就是所有的摄像机都是模拟,最后都是转换成位置的,当然如果用了物理引擎可能移动节点是会导致效率变低的可能。