由于地图可能大于Canvas尺寸。所以需要摄像机来进行移动。摄像机的视角中心是摄像机的锚点。目前需要一些界面HUD。可以跟随摄像机移动。或者说,看起来位置不动。如何进行转换坐标。。有时候log看起来坐标对了。但是节点位置没改变。这是我目前的脚本。只有这样节点位置才会一直更新改变。可是不对。
properties: {
daojulan: cc.Node,
zhuangtailan: cc.Node,
target: {
default: null,
type: cc.Node
}
},
// use this for initialization
onLoad: function() {
this.camera = this.getComponent(cc.Camera);
},
// called every frame, uncomment this function to activate update callback
lateUpdate: function(dt) {
let targetPos = this.target.convertToWorldSpaceAR(cc.Vec2.ZERO);
this.node.position = this.node.parent.convertToNodeSpaceAR(targetPos);
// let zuoxiapos = this.node.convertToNodeSpaceAR(cc.Vec2.ZERO);
this.daojulan.position = this.node.parent.convertToWorldSpaceAR(cc.v2(50, 50));
//this.daojulan.position = this.daojulan.parent.convertToWorldSpaceAR(zuoxiapos);
// cc.log("winsize:" + (this.daojulan.parent.convertToNodeSpaceAR(cc.v2(100, 100))));
cc.log("winsize:" + this.daojulan.position);
//cc.log("zuoxiapos:" + zuoxiapos);
cc.log("targetPos:" + targetPos + " " + this.target.position);
// this.zhuangtailan.position = this.node.parent.convertToNodeSpaceAR(cc.v2(50, cc.winSize.height - 50));
// cc.log("winsize:" + cc.winSize.width + " " + cc.winSize.height);
//let ratio = targetPos.y / cc.winSize.height;
//this.camera.zoomRatio = 1 + (0.5 - ratio) * 0.5;