遊戲執行個體來自《Cocos2d-x遊戲開發之旅》,作者首頁:http://www.benmutou.com/
上一節中,已經實作了主角向前跑動,但是跑着跑着主角就跑出地圖了,接下來
我們來實作地圖随着主角滾動。
首先要在Player中添加一個函數setViewPointByPlayer。
Player.h代碼(紅框内是新加的)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN0LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90TUPFTRE90MjRUT4FEVkZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DNzYTNxEjM1EDOyIDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
Player.cpp:(新加的代碼)
setViewPointByPlayer()函數的功能是判斷當主角的坐标改變時,是否需要滾
動地圖。
另外,Player要重寫父類的setTagPosition函數,如上代碼所顯示,在原父類
的實作上,再加上setViewPointByPlayer()函數。
setTiledMap函數裡的操作大家可以先忽略,這涉及到retain和release, 将在後
面的章節中講解。總之就是保留map的引用。
最後,打開TollgateScene.cpp的addPlayer函數,在建立Player對象之後,再
調用Player的setTiledMap函數,如下代碼:
現在運作項目,就可以看到地圖随着主角滾動了。
效果圖: