cocos creator 镜头跟随角色移动


本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net

我之前也实现了这个功能,实现方法是角色移动到哪儿,镜头就 setPosition 到相同的位置,但此举实在不够优雅,于是在网上寻找更好的方法。

在论坛里我看到了 cc.follow 这个方法,下面为它的用法:

/*cc.follow(第一个参数为cc.Node,第二个参数可选:cc.Rect),返回cc.Action*/
Camera.node.runAction(cc.follow(cc.Node));
//camera执行动作跟随node
Camera.node.runAction(cc.follow(cc.Node,new cc.Rect(-10,-10,20,20)));
//node在Rect的矩形范围内镜头不跟随移动,将要出范围时镜头跟随移动

以上为我从网上找到的 cc.follow 的使用方式,但并不实用。。。后来注意到 node 和 camera 是有层级关系,于是我把 node 设为 camera 的下层,然而还是不行。

但是这引起了我的思考,子节点能不能跟着父节点移动呢?

我想的是将 camera 设为 node 的子节点,移动角色(node)时,子节点(镜头)跟着移动。

果然,,,成功了。

那么解决方式:将 camera 拖为 node 的子节点。不需要给 camera 添加脚本,镜头就能跟着 node 移动。

另外,如果有人解决了 cc.follow 的问题,欢迎前来指教。

另外附上不优雅的解决方式:在正常的层级中,为 player 添加脚本(加入属性:camera),在角色移动时镜头也移动

//镜头跟随角色移动
this.camera.node.setPosition(this.node.x,this.node.y);

声明:HEUE NOTE|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA 4.0协议进行授权

转载:转载请注明原文链接 - cocos creator 镜头跟随角色移动