日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cocos2d-x游戏实例(10)-塔防游戏(修改地图图素,地图整体缩放)

發布時間:2024/4/11 编程问答 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cocos2d-x游戏实例(10)-塔防游戏(修改地图图素,地图整体缩放) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小滿(bill man)個人原創,歡迎轉載,轉載請注明地址,小滿(bill man)的專欄地址http://blog.csdn.net/bill_man

塔防游戲在目前的智能機游戲中占據很重要的部分,本篇介紹塔防游戲的兩個功能模塊在cocos2d-x中的實現。分別是修改地圖圖素及地圖整體縮放

1.修改地圖圖素

修改地圖圖素,即我們在地圖的某一位置上新建某個東西,比如要建我們塔防游戲中的“塔”,我們其實有兩種辦法,一種是新建某個CCSprite,并使用addChild把它加入到地圖中,一種是直接在圖素上進行修改,我采取第二種做法,因為當“塔”被建好時,它其實也算是地圖的一部分了,這樣處理對于處理地圖碰撞各方面會更好。我們來看一下代碼:


可以看到,我采用的還是ccTouchesBegan處理觸摸事件,首先獲得我們觸摸屏幕的位置,然后通過之前我們實現的convertto2d函數(請參看我之前的博客文章)把屏幕的坐標轉換為地圖索引坐標,然后獲得我們的草地層,并在層中用setTileGID把我們的這個圖素設置為新的我們需要的,第一個參數為要設置的gid的值,第二個參數為我們獲得的地圖上索引的位置。這樣就完成了,設置替換圖素的功能。

然后我們要加入一些內容,因為我們的“塔”不可能憑空被建設出來,需要一個過程的渲染,我們可以通過如下代碼加入動畫。


我們先定義一個動作,然后通過tileAt獲得這個圖素的CCSprite,參數為我們獲得的地圖上索引的位置。然后我們把動作掛在這個CCSprite就可以了。

2.地圖整體縮放

在塔防游戲中,要有一個我們需要實現的功能,就是地圖視角的整體縮放,下面的代碼實現地圖縮放

map->runAction(?CCScaleBy::actionWithDuration(2,?0.5f)?)?;

直接一句話就可以實現這個功能,就是通過CCScaleby,來實現我們的地圖的縮放功能。但是我們還需要在視角處理上再處理一下,代碼如下:


由于我們通過getContentSize不能獲得地圖縮放后的大小,我們需要getScale獲得地圖的縮放比例,然后讓我們獲得的長寬乘以縮放比例獲得地圖大小,再通過我們之前的視角跟隨方法控制地圖位置即可。

如有錯誤之處,希望大家多多指正

下一篇繼續游戲實例

總結

以上是生活随笔為你收集整理的cocos2d-x游戏实例(10)-塔防游戏(修改地图图素,地图整体缩放)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。