2D镜头跟随应该怎么实现呢

  • Creator 版本: 3.4.0

想做一个2D平板跳跃的游戏,有一张大背景,然后实现相机跟着主角移动,地图就移动了,我是用sprite作为背景,然后移动相机,结果发现移动相机并没有任何效果,始终看到的是初始位置的图片,这种应该怎么实现呢?

镜头移动有两种形式,一种是摄像机移动,一种是地图移动,你想实现的是哪一种

想要通过移动相机的形式去实现,但是发现移动相机并没有效果,始终看到的是初始位置的图片,不知道该怎么操作

在摄像机上加个脚本,在脚本的update里让摄像机每帧的位置都和主角保持一致就行了。

不行啊,我试了,移动相机没有效果

怎么会没有效果呢,展示一下你的代码?

分两个相机一个渲染UI 一个渲染要移动的 移动的时候update刷新相机的位置和要移动角色位置

大概率是没有设置 layer

那应该怎么设置呢

就是最简单的项目,新建一个sprite,没了,然后移动相机,没效果。
求个能跑的demo项目

通过移动主相机或主角相机来实现,地图跟随做替换,毕竟长图不现实

store上类似的项目源码不少哦 比如奔跑吧巨人,虫虫快跑等等,但是你这个问题我怀疑你移动的相机不对

上传你代码给你改改

这两天在3.4做这个功能,之前发贴没人回复,然后我摸索解决了,有几个地方要注意的,我在这里把一些注意的事项列下,避免后面的人踩坑,顺便也解决你上面的问题。

*、跟随相机的设置
1、跟随相机和地图、主角之类,要单独设在同一个layer,建议是用户定义的layer;
2、跟随相机的visibility只勾上自已所在的layer,然后,主相机,不要勾上这个layer;
3、跟随相机的z值设定1000,far设定为2000(不是必须这些值大小,但是必须要设,因为默认z值是0的,如果是0,什么都显示不出来)。
4、跟随相机projection要改为ortho。

*、其它的要点。
如果是ide设定的组件对象,一般会设到跟随相机的layer,但是代码控制动态添加组件对象,这里有个坑,就是代码添加的组件对象是默认为default的layer,也就是不是你这个跟随相机的layer,就算你添加的parent node不是default layer也是这样,这样就造成了一种假象,你移动跟随相机,是没有任何效果的,原因是就是这个layer的问题,必须用代码改到跟随相机的layer;

另外,改变组件对象的layer,只是改变对象本身的,它的子对象什么的,是不会同步改变的,所以如果你功能上是要同步,必须要用代码遍历全部改变一次。

4赞

我也遇到你相同的问题。看官方的文档没有解决,大概知道是与layer 相关的 。但是想找个demo来参考。 不知道有没有官方的demo 。 cocoscreator 3.5