【Cocos Creator实战教程(6)】——镜头跟随

lili

发布日期: 2018-11-27 01:36:29 浏览量: 1021
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

1. 知识点讲解

Camera就是标记一块区域,这块区域就是镜头范围。

拿拍电影来举例子,当拍一个场景时,场景里常常有主角,而主角常常有主角光环,所以摄像机的镜头就要对准主角,镜头要跟着主角移动。

这里的镜头移动方式有两种。一种是中心移动,也就是以主角为中心,主角移动镜头就同步移动;另一种是边界移动,这种移动方式下我们给镜头设定一个范围,当主角移动出这个范围时,摄像机才移动。

我们这里用的是边界移动的方式(中心移动的我也试了一下,真的有点晕)。

2. 步骤

新建一个Camera节点并且添加脚本,改变位置。

CameraManager2.js

  1. cc.Class({
  2. extends: cc.Component,
  3. properties: {
  4. bgSky:cc.Node,
  5. skySca:0,
  6. bgHill:cc.Node,
  7. hillSca:0,
  8. bgHillnear:cc.Node,
  9. hillnearSca:0,
  10. bgFloor:cc.Node,
  11. floorSca:0,
  12. cloudLayer:cc.Node,
  13. cloudSca:0,
  14. camera: cc.Node,
  15. player: cc.Node,
  16. },
  17. init: function(game){
  18. this.game = game;
  19. },
  20. moveBg: function(distance){
  21. //当主角跳出镜头边界时镜头才移动
  22. if(this.player.y > this.camera.y+this.camera.height/2){
  23. this.bgSky.y -= distance * this.skySca;
  24. this.bgHill.y -= distance * this.hillSca;
  25. this.bgHillnear.y -= distance * this.hillnearSca;
  26. this.bgFloor.y -= distance * this.floorSca;
  27. this.cloudLayer.y -= distance * this.cloudSca;
  28. this.player.y -= distance;
  29. }
  30. }
  31. });

3. 总结

如果大家想对两种视角有个更好的了解,可以试试英雄联盟的视角锁定,自由视角和中心视角的切换按钮是Y。

这几次的知识点并成一个游戏给大家。

上传的附件
eject