cocos creator镜头跟随角色移动

我之前也实现了这个功能,实现方法是角色移动到哪儿,镜头就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);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章