闭眼就天黑专栏_技术博客_个人学习总结
再次理解creator坐标系,修复运行会提示警告的问题
2020-2-11 闭眼就天黑

creator坐标系


1: 世界(屏幕)坐标系;

    坐标原点在左下角

2: 相对(节点)坐标系,两种相对节点原点的方式

    (1) 左下角为原点,

     this.node.convertToWorldSpace(cc.v2(0, 0));

     this.node.convertToNodeSpace(w_pos);

    (2) 锚点为原点(AR)

     this.node.convertToWorldSpaceAR(cc.v2(0, 0));

    this.node.convertToNodeSpaceAR(w_pos);

    两套API,带AR后缀和不带

3: 节点坐标和屏幕坐标的相互转换; 我们到底使用哪个?通常情况下带AR;

4: 获取在父亲节点坐标系下(AR为原点)的节点包围盒;

    this.node.getBoundingBox();

5: 获取在世界坐标系下的节点包围盒;

    this.node.getBoundingBoxToWorld();

6: 触摸事件对象世界坐标与节点坐标的转换;


新版本警告请看下一下2个例子:

Sorry, cc.Node.convertTouchToNodeSpaceAR is deprecated. Please use convertToNodeSpaceAR instead


例子1:

//在creator新版本会报警告 
//Sorry, cc.Node.convertTouchToNodeSpaceAR is deprecated. 
//Please use convertToNodeSpaceAR instead
var pos = this.node.convertTouchToNodeSpaceAR(t); 
console.log("====", pos);
//把上面的案例改成下面的即可 就不会报警告
var w_pos = t.getLocation();
pos = this.node.convertToNodeSpaceAR(w_pos);
console.log(pos);

例子2:


//报警告的示例代码
let touchPos = this.node.convertTouchToNodeSpaceAR(touch.touch);

//改为以下代码即可
let touchPos = this.node.convertToNodeSpaceAR(touch.touch.getLocation());


发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容