1. 知識點講解
Camera就是標記一塊區域,這塊區域就是鏡頭范圍。
拿拍電影來舉例子,當拍一個場景時,場景里常常有主角,而主角常常有主角光環,所以攝像機的鏡頭就要對准主角,鏡頭要跟着主角移動。
這里的鏡頭移動方式有兩種。一種是中心移動,也就是以主角為中心,主角移動鏡頭就同步移動;另一種是邊界移動,這種移動方式下我們給鏡頭設定一個范圍,當主角移動出這個范圍時,攝像機才移動。
我們這里用的是邊界移動的方式(中心移動的我也試了一下,真的有點暈)。
2. 步驟
新建一個Camera節點並且添加腳本,改變位置。
CameraManager2.js
cc.Class({extends: cc.Component,properties: {bgSky:cc.Node,skySca:0,bgHill:cc.Node,hillSca:0,bgHillnear:cc.Node,hillnearSca:0,bgFloor:cc.Node,floorSca:0,cloudLayer:cc.Node,cloudSca:0,camera: cc.Node,player: cc.Node,},init: function(game){this.game = game;},moveBg: function(distance){//當主角跳出鏡頭邊界時鏡頭才移動if(this.player.y > this.camera.y+this.camera.height/2){this.bgSky.y -= distance * this.skySca;this.bgHill.y -= distance * this.hillSca;this.bgHillnear.y -= distance * this.hillnearSca;this.bgFloor.y -= distance * this.floorSca;this.cloudLayer.y -= distance * this.cloudSca;this.player.y -= distance;}}});
參考文檔和完整的文檔和源碼下載地址:
