cocos creator教程之世界坐标和局部坐标

栏目: 编程语言 · IOS · 发布时间: 6年前

内容简介:cocos creator中的canvas画布,由用户自己设定的坐标是局部坐标,默认是在画布正中间,原点(0,0)坐标在正中间,而游戏生成之后,用户点触游戏界面中获取到的是世界地图坐标,世界地图的原点(0,0)在左下角。两个坐标是不一样的,在编码的时候需要自己进行转换,而cocos creator则提供了非常方便的转换方法。canvas为画布,画布监听了触控开始的事件,touches获取触控数组,多点触控则有多个数值,这里我们只获取第一个触控点,也就是touches[0],这里获取的touchLoc就是第

cocos creator中的canvas画布,由用户自己设定的坐标是局部坐标,默认是在画布正中间,原点(0,0)坐标在正中间,而游戏生成之后,用户点触游戏界面中获取到的是世界地图坐标,世界地图的原点(0,0)在左下角。两个坐标是不一样的,在编码的时候需要自己进行转换,而cocos creator则提供了非常方便的转换方法。

官方示例

var self = this;
self.canvas.on(cc.Node.EventType.TOUCH_START, function (event) {
            var touches = event.getTouches();
            var touchLoc = touches[0].getLocation();
            self.isMoving = true;
            self.moveToPos = self.follower.parent.convertToNodeSpaceAR(touchLoc);
            console.log(self.moveToPos.angle(cc.v2(0, 10)) * 180 / Math.PI);
            console.log(self.moveToPos);
            self.touchLocationDisplay.textKey = i18n.t("cases/03_gameplay/01_player_control/On/OnTouchCtrl.js.1") + Math.floor(touchLoc.x) + ', ' + Math.floor(touchLoc.y) + ')';
        }, self.node);

canvas为画布,画布监听了触控开始的事件,touches获取触控数组,多点触控则有多个数值,这里我们只获取第一个触控点,也就是touches[0],这里获取的touchLoc就是第一个触控点的位置坐标,类型是Vec2,Vec2是cocos creator代表向量和坐标的类型, 需要注意是touchLoc的坐标值是世界地图的坐标 ,所以如果用于编码的话需要将世界坐标转换为局部坐标,也就是node的坐标,cocos creator提供了一个方法node.convertToNodeSpaceAR()可以将世界地图坐标转换为node的局部坐标,这里获取的是folower这个node的父node的局部坐标。

如果想查看更多关于convertToNodeSpaceAR()的内容,可前往 http://docs.cocos.com/creator/api/zh/classes/Node.html#converttonodespacear 进行查看。

补充内容

在上面有一个方法angle(),其为Vec2类型的方法,用法为cc.v2(0,10).angle(cc.v2(10,0)),获取的是当前向量和参数中向量之间的弧度。

弧度可以转换为角度,也就是cc.v2(0,10).angle(cc.v2(10,0)) * 180 / Math.PI。

这里大家可以自行测试。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

轻松学算法

轻松学算法

赵烨 / 电子工业出版社 / 2016-7 / 69.00元

《轻松学算法——互联网算法面试宝典》共分为12 个章节,首先介绍了一些基础的数据结构,以及常用的排序算法和查找算法;其次介绍了两个稍微复杂一些的数据结构——树和图,还介绍了每种数据结构和算法的适用场景,之后是一些在工作与面试中的实际应用,以字符串、数组、查找等为例介绍了一些常见的互联网面试题及分析思路,便于读者了解这些思路,顺利地通过互联网公司的面试;最后介绍了一些常见的算法思想,便于读者对今后遇......一起来看看 《轻松学算法》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码