天天看點

《跑跑跑》(三)——焦點是主角,讓地圖随着主角滾動遊戲執行個體來自《Cocos2d-x遊戲開發之旅》,作者首頁:http://www.benmutou.com/

遊戲執行個體來自《Cocos2d-x遊戲開發之旅》,作者首頁:http://www.benmutou.com/

上一節中,已經實作了主角向前跑動,但是跑着跑着主角就跑出地圖了,接下來

我們來實作地圖随着主角滾動。

首先要在Player中添加一個函數setViewPointByPlayer。

Player.h代碼(紅框内是新加的)

《跑跑跑》(三)——焦點是主角,讓地圖随着主角滾動遊戲執行個體來自《Cocos2d-x遊戲開發之旅》,作者首頁:http://www.benmutou.com/

Player.cpp:(新加的代碼)

《跑跑跑》(三)——焦點是主角,讓地圖随着主角滾動遊戲執行個體來自《Cocos2d-x遊戲開發之旅》,作者首頁:http://www.benmutou.com/
《跑跑跑》(三)——焦點是主角,讓地圖随着主角滾動遊戲執行個體來自《Cocos2d-x遊戲開發之旅》,作者首頁:http://www.benmutou.com/
《跑跑跑》(三)——焦點是主角,讓地圖随着主角滾動遊戲執行個體來自《Cocos2d-x遊戲開發之旅》,作者首頁:http://www.benmutou.com/

setViewPointByPlayer()函數的功能是判斷當主角的坐标改變時,是否需要滾

動地圖。

  另外,Player要重寫父類的setTagPosition函數,如上代碼所顯示,在原父類

的實作上,再加上setViewPointByPlayer()函數。

    setTiledMap函數裡的操作大家可以先忽略,這涉及到retain和release, 将在後

面的章節中講解。總之就是保留map的引用。

        最後,打開TollgateScene.cpp的addPlayer函數,在建立Player對象之後,再

調用Player的setTiledMap函數,如下代碼:

《跑跑跑》(三)——焦點是主角,讓地圖随着主角滾動遊戲執行個體來自《Cocos2d-x遊戲開發之旅》,作者首頁:http://www.benmutou.com/

現在運作項目,就可以看到地圖随着主角滾動了。

         效果圖:

《跑跑跑》(三)——焦點是主角,讓地圖随着主角滾動遊戲執行個體來自《Cocos2d-x遊戲開發之旅》,作者首頁:http://www.benmutou.com/

繼續閱讀