在写camera的时候,运行下面代码角色会瞬移,不知道怎么回事。
properties: {
target: {
default: null,
type: cc.Node, //角色
},
map: {
default: null,
type: cc.Node, //地图
},
onLoad () {
this.screenMidPoint = cc.v2(cc.winSize.width/2,cc.winSize.height/2);
this.maxX = this.map.width - cc.winSize.width;
this.maxY = this.map.height - cc.winSize.height;
},
CalculationMovingVector () {
var tarPoint = this.target.convertToWorldSpace(cc.Vec2.ZERO);
var screenMidPointWorld = this.screenMidPoint;
var mapPosition = this.map.convertToWorldSpace(cc.Vec2.ZERO);
var moveVector = screenMidPointWorld.sub(tarPoint);
return mapPosition.add(moveVector);
},
update (dt) {
var mapPosition = this.CalculationMovingVector();
var x = cc.clampf(mapPosition.x,-this.maxX,0);
var y = cc.clampf(mapPosition.y,-this.maxY,0);
//转换成其父节点坐标系的坐标
this.map.position = this.map.parent.convertToNodeSpaceAR(cc.v2(x,y));
},