Cocos2d-x 3.2 大富翁游戏项目开发-第十六部分 相连地块缴纳过路费,cocos2d-x项目开发

  次阅读 来源:互联网(转载协议) 2015-09-28 14:40 我要评论(0)

Cocos2d-x 3.2 大富翁游戏项目开发-第十六部分 相连地块缴纳过路费,cocos2d-x项目开发

当走到其他角色的地块时,根据当前地块是否连片,连片的话统一计算需要缴纳的过路费,连片的计算方式,是各个地块过路费总和。

首先获取当前行走角色路过的地块的x y坐标(Land layer层的坐标),然后获取角色的坐标(GL的坐标,需要转换成map中的坐标),

然后对这2个坐标值进行横向和纵向比较。

如图A位置:以寻找左边地块的方法为例分析

1、 把角色A坐标转换成map中的坐标

2、 把当前0号地块的sprite对象放入容器中,以便后面播放淡入淡出的动画

3、 0号地块x坐标同角色A的map坐标的x值是否相等,如果相等表示当前角色的上边或下边有对方的地块。

4、 取得0号地块左边相邻1号的坐标

5、 取得1号地块的GID值

6、 判断1号地块的GID值

7、 根据1号地块的GID等级,把过路费相加

8、 把1号地块sprite放入容器中

9、 继续查找左边相邻2号地块,处理方法同1号地块

10、如果左边没有地块了,退出寻找左边地块的循环,继续寻找右边地块

void GameBaseScene::payTolls(int payTag,float x,float y ,int playerTag)调用到displayArea方法

先说明一下参数

float x:表示在land Layer层中地块的横坐标值

float y:表示在land Layer层中地块的纵坐标值

RicherPlayer* player:当前行走的角色

int building_1_tiledID:路过的地块1等级

int building_2_tiledID:路过的地块2等级

int building_3_tiledID:路过的地块3等级

返回值表示除了当前地块的其他连片地块的过路费总和

int GameBaseScene::displayArea(float x,float y,RicherPlayer* player,int building_1_tiledID,int building_2_tiledID,int building_3_tiledID)

{

int sumMoney =0;//过路费总和初始值

float retX = Util::GL2map(player->getPosition(),_map).x; //把角色坐标转换成map中的坐标

if(x == retX) //比较map坐标的x值是否相等,如果相等表示当前角色的上边或下边有对方的地块。

{

float leftX= x - 1; //当前地块相邻左边的坐标

float rightX = x + 1; //当前地块相邻右边的坐标

int leftGID = landLayer->getTileGIDAt(ccp(leftX,y));//取得相邻左边地块的GID值

int rightGID = landLayer->getTileGIDAt(ccp(rightX,y));//取得相邻右边地块的GID值

displayVector.pushBack(landLayer->getTileAt(ccp(x,y))); //把当前地块的sprite对象放入容器中,以便后面播放淡入淡出的动画

while(leftGID != 0 && (leftGID == building_1_tiledID || leftGID == building_2_tiledID || leftGID == building_3_tiledID))//判断相邻左边地块的GID

{

if(leftGID == building_1_tiledID)//如果相邻左边地块的GID是等级1的地块,把过路费相加

{

sumMoney += LAND_BLANK_MONEY;

}

if(leftGID == building_2_tiledID)//如果相邻左边地块的GID是等级2的地块,把过路费相加

{

sumMoney += LAND_LEVEL_1_MONEY;

}

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...