最近在新项目中使用到了摄像机,虽然说现在Creator
v2.0版本在创建场景的时候会默认创建一个摄像机,但是想实现策划想要的效果,还是需要做一些小操作的,这个是Cocos官网对摄像机的解释Creator摄像机
<https://docs.cocos.com/creator/manual/zh/render/camera.html>。
我的是一个碰碰车项目,需要给玩家一种自己的碰碰车一直处在屏幕中央的感觉,就需要在玩家的update方法里根据玩家的坐标来不断更新摄像机的坐标,
this.mainCarema.position = cc.v2(this.playerNode.x, this.playerNode.y);
这样通过虚拟摇杆控制碰碰车移动时,碰碰车始终在屏幕中央,如下图所示

接下来,地图编辑的特别大时,玩家可以控制碰碰车来控制摄像机去地图的各个区域。当玩家变大时,在当前屏幕可看到的区域就会变大,这个时候就需要用到camera的zoomRatio,官方解释:
指定摄像机的缩放比例, 值越大显示的图像越大。如下图是zoomRatio为0.6的效果,默认是1.0.
cullingMask属性决定这个摄像机用来渲染场景的哪些部分,比如玩家在移动的时候,“第一关
幸存者9/9”这些是一直在屏幕中央的,就需要分组管理来。在菜单栏->项目->项目设置里添加分组,一个不需要随着摄像机移动的UI分组。然后再添加一个UI摄像机,Depth设置的大一些,显示在最上面,并且
cullingMask 只勾Game UI
分组。clearFlags一般除了最底层的摄像机里需要全部打勾,其他摄像机就不需要勾选了,不然上层摄像机会把下层的画面清除。

然后给分数等其他不需要随地图移动的那些节点选一个GameUI分组
这时mainCarema的cullingMask选项里不要勾选GameUI就可以了
就能达到移动角色时,场景跟随移动,角色变大,可视范围变大,场景类分数和关卡等UI位置不变的效果了。
以下是参考链接:摄像机
<https://codeygame.com/2018/08/09/cocos-creator-2-0-%E5%A6%82%E4%BD%95%E8%AE%93-camera-%E8%B7%9F%E9%9A%A8%E8%A7%92%E8%89%B2%E7%A7%BB%E5%8B%95/>