这一节,原本您将会学习到如何接受和处理到来自玩家的触摸屏幕的事件,不过在这之前,您需要学习一下Cocos中坐标系的概念,所以这一章会向您介绍Cocos中的坐标系。
【接下来的章节请在列表中往前翻到2023-09-12的博客】
【接下来的章节请在列表中往前翻到2023-09-12的博客】
【接下来的章节请在列表中往前翻到2023-09-12的博客】
章节源码、答疑和交流移步 https://t.zsxq.com/5JQPx
章节源码、答疑和交流移步 https://t.zsxq.com/5JQPx
章节源码、答疑和交流移步 https://t.zsxq.com/5JQPx
1.世界坐标系
世界坐标系也叫做绝对坐标系,官方文档对其解释为“表示当前场景空间内的统一坐标体系”,也就是说世界坐标是表示当前节点相对于最顶层根节点的坐标。如果您还是不理解的话,您可以看一下Coscos Creator中场景管理器的坐标系,场景管理器中的坐标系就是世界坐标:
我们可以看到,在场景管理器中当前Car节点和它的CarSprite子节点是大概在x=475,y=325的位置,我们可以在代码中验证一下,首先注释掉会影响到节点运动状态的代码,然后获取下两个节点的世界坐标,在代码中,setWorldPosition和getWorldPosition可以用来操作节点的世界坐标系,我们的验证代码如下:
运行起来,每隔2s控制台会输出两个节点的世界坐标:
显然我用眼睛目测出来的世界坐标系有一些误差,不过不要紧,我们在代码中获取到了精确的世界坐标。
2.本地坐标系
本地坐标系也叫做相对坐标系,代码中使用setPosition和getPosition来操作当前节点的相对坐标。相对坐标指的是当前节点以父节点为原点的坐标系,例如我对CarSprite节点调用了setPosition(x,y),那么CarSprite的位置将会移动到以Car节点为原点的坐标系中。
我们可以验证一下,目前Car节点因为只有UITransform组件而没有可供渲染颜色的组件,所以运行时没法在屏幕上直观的显示Car节点的位置,所以我们可以先给Car节点添加个精灵组件,这样就可以在屏幕上看见Car节点的位置了,所以请您鼠标左键点击Car节点,然后在右侧的属性检查器中点击“添加组件”按钮,在2D分组中找到Sprite组件,添加完Sprite组建后随便指定一个Sprite Frame属性,效果如下:
然后我们再来实现一下代码:
在浏览器运行起来后,我们会发现每间隔2s,CarSprite节点都会以Car节点为中心来发生位置的改变:
以上就是本章的全部内容,下一章您将会真正学习如何接收玩家的触屏操作并以此来控制汽车的运动状态。
章节源码、答疑和交流移步 https://t.zsxq.com/5JQPx