一,需求;
人物移动,相机跟随人物水平移动;当地图展示到最左边,或者最右边时,镜头不再跟随人物移动,人物可走到最左边或最右边;
二,代码;
编写一个js绑定到camera下:
其中,target是要跟随的目标,tieldMap是地图。
cc.Class({
extends: cc.Component,
properties: {
target:{
default:null,
type:cc.Node
},
tieldMap:{
default:null,
type:cc.TiledMap
}
},
start () {
var mainWidth = cc.find("UI_ROOT").width;
var mapWidth = this.tieldMap.node.width
this.max_x = mapWidth - mainWidth;
},
update (dt) {
if(!this.target) return;
// 将节点坐标系下的一个点转换到世界空间坐标系
var w_pos = this.target.convertToWorldSpaceAR(cc.v2(0,0));
// 将一个点转换到节点 (局部) 空间坐标系
var c_pos = this.node.parent.convertToNodeSpaceAR(w_pos);
if(c_pos.x<&#