空白键|Cocos Creator中坐标空间的转换( 二 )


1.`onLoad () {`2.`// 1 屏幕坐标系 , 左下角为原点 , 向右为x轴正方向 , 向上为y轴正方向`3.`let worldPos : cc.Vec2 = new cc.Vec2(0, 0);`4.`console.log("worldPos=", worldPos);`6.`// 2: 相对(节点)坐标系 , 两种相对节点原点的方式(1) 左下角为原点, (2) 锚点为原点(AR)`7.`let localPos :cc.Vec2 = this.node.convertToNodeSpace(worldPos);`8.`console.log("localPos节点左下角为坐标原点:", localPos);`9.`localPos = this.node.convertToNodeSpaceAR(worldPos);`10.`console.log("localPosAR节点锚点为坐标原点", localPos);`12.`// 3: 节点坐标和屏幕坐标的相互转换; 我们到底使用哪个?通常情况下带AR;`13.`localPos = cc.v2(0, 0);`14.`worldPos = this.node.convertToWorldSpace(localPos);`15.`console.log("世界坐标", worldPos);`16.`worldPos = this.node.convertToWorldSpaceAR(localPos);`17.`console.log("世界坐标", worldPos);`19.`// 4: 获取在父亲节点坐标系下(AR为原点)的节点包围盒;`20.`let box : cc.Rect = this.node.getBoundingBox();`21.`console.log("父节点下的包围盒子=", box);`23.`// 5: 获取在世界坐标系下的节点包围盒;`24.`box = this.node.getBoundingBoxToWorld();`25.`console.log("世界坐标下的包围盒子=", box);`26.`}`
空白键|Cocos Creator中坐标空间的转换
空白键|Cocos Creator中坐标空间的转换
空白键|Cocos Creator中坐标空间的转换
空白键|Cocos Creator中坐标空间的转换1.`start () {`2.`// 6: 触摸事件对象世界坐标与节点坐标的转换;`3.`this.node.on(cc.Node.EventType.TOUCH_START, function(e){`4.`let worldPos = e.getLocation();`5.`let localPos = this.node.convertToNodeSpaceAR(worldPos);`6.`console.log("触摸点的世界坐标和本地坐标:", worldPos, localPos);`8.`localPos =this.node.convertTouchToNodeSpace(e);`9.`console.log("触摸点的本地坐标(节点左下角为坐标原点):",localPos);`10.`localPos =this.node.convertTouchToNodeSpaceAR(e);`11.`console.log("触摸点的本地坐标(节点锚点为坐标原点):",localPos);`12.`}.bind(this), this);`13.`}`运行结果如下 , 点击蓝色块中间的位置 。
空白键|Cocos Creator中坐标空间的转换【空白键|Cocos Creator中坐标空间的转换】关键点在于理解坐标参考原点在哪?