怎么使用Camera实现如下功能

cocos2dx版本:3.3rc0

Camera的设定是相机的CameraFlag与精灵的CameraMask进行与运算,如果不为0,则可以在该Camera中显示,其中CameraMask为DEFAULT的精灵是最后才被相机渲染,也就是始终会处于最上层,与Zorder无关。
并且相机的CameraFlag不为DEFAULT时,渲染CameraMask为DEFAULT的精灵是出于画面中不会动的。
以上是我的理解

那么我想实现如下效果
游戏场景中有个UI层,该层必须处于最上层,且不会因为相机的移动而改变位置
游戏中还有一个角色精灵,相机会跟随该精灵移动
游戏中还有一个背景层,也是保持静止,不会因为相机的移动而改变位置,但要处于最下层
层级关系是:
UI层
|
角色
|
背景

按照我之前的理解,UI层用的CameraMask应该就是DEFAULT了,最后渲染,保持静止
角色用的CameraMask应该是USER1
然后背景层我有点不太懂应该怎么设了,如果保持静止,设成DEFAULT应该是比较合适的,但是如果设成DEFAULT,会被最后渲染,也就会挡住角色,这显然是不行的
如果设为与相机的CameraFlag进行与运算为0的CameraMask,这又看不到背景,如果设为与运算不为0的CameraMask,它又会和角色一起移动。

请问想要实现我要的效果,CameraFlag与CameraMask应该怎么设?

用3个相机,UI用默认相机,背景一个相机,角色一个相机

— Begin quote from ____

引用第1楼凤凰花开于2015-07-21 10:27发表的 :
用3个相机,UI用默认相机,背景一个相机,角色一个相机 http://www.cocoachina.com/bbs/job.php?action=topost&tid=313457&pid=1351417

— End quote

非常感谢,成功了

刚好碰到同样的问题, 请问楼主的三个相机是怎么设置的啊?我用的 Cocos2d-x V3.6
我现在有一个 Scene,上面添加了两个层,一个背景层 Map 继承自 Node,一个人物层 Sprite 也继承自 Node.
另外还有一个 Menu 是直接添加在 Scene 的 layer 上。

Map 类中创建一个相机 CameraFlag 为 User2,Map 类的 CameraMask 也设置为 User2,
Sprite 类中创建一个相机 CameraFlag 为 User1,Sprite 类的 CameraMask 设置为 User1.
其他没有设置。

然后在 Sprite 类的 update() 中更改 Sprite 和其 Camera 的 positionX

现在结果是 Map 和 Sprite 都显示在屏幕上,update 也有在执行,但是不管是背景,还是人物都不动。:9: