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);

 

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