官方教程地址
- https://docs.cocos.com/creator/manual/zh/getting-started/first-game-2d/
- https://docs.cocos.com/creator/manual/zh/getting-started/first-game/
问题
以《快速上手:制作第一个 2D 游戏》为例,此文章描述相当细致,新手能够做到一步步边学边做,并基本能够成功运行。本文本着“鸡蛋里挑骨头”的态度发现此教程中仍然存在几个尚显模糊而有待补充的问题,如下文所述。
1 游戏管理器(GameManager)的场景位置
原教程中写道“创建好 GameManager 之后,我们可以将其挂在在场景内任何一个节点上,但出于清晰的考虑我们一般会选择创建一个同名的节点,并将 GameManager 挂在在他上面”。
但是,由于后面的地图(道路)相关控制都是在这个游戏管理器中实现的,类似于下面的代码:
this.node.addChild(block);
block.setPosition(j * BLOCK_SIZE, 0, 0);
这里就存在一个准确定位道路坐标位置的问题(及其与Player的相对位置关系)。
因此,更准确的描述应该类似于下面:
在层级管理器中添加的一个新的空节点GameManager,并使其与Player处于同级,然后将脚本GameManager绑定到此节点上。并注意调整(确保)GameManager具有如下图所示参数:
并且层级管理器中的相对位置如下所示(删除其中的用于生成预制体的BOX节点后):
2 卷轴滚动问题(结合3D另一篇教程)
此处对应文字描述与动画不太清晰。调整后应该是:
把原来场景中的Camera节点拖动到Player节点上,从而实现“相机随着角色的运动而运动”。并且,取消 Canvas 节点上 cc.Canvas 组件的 Align Canvas With Screen 属性。