对于基本的捕鱼游戏设计思路(三)——炮弹
2016-09-26 17:23
441 查看
双休的时候休息了两天,玩玩游戏看看电影,也没带电脑所以搞得打包游戏都得今天才弄,然后选择继续写捕鱼游戏之炮弹的生成。
分析炮弹对象,首先炮弹肯定是有它的类型,然后根据点击的坐标发射,每点击一次发射一颗炮弹。它有着自己的动作属性,例如速度和方向,还有金币不足时不允许发射炮弹。
看代码,设置点击事件,根据点击坐标获取到X和Y,计算出与炮台之间的角度,可以根据炮台的设置点击之后将炮台设置偏转角,重点在于偏转角的弧度与角度之间的转换,atan2(y,x);这个函数先传入偏移Y,再传偏移X。计算出偏转角rotation之后炮台设置该角度,子弹设置该角度。makeBullet(type);type是传入炮台类型从而生成炮弹时就可以根据类型生成不同的炮弹,然后执行炮弹的移动。
分析炮弹对象,首先炮弹肯定是有它的类型,然后根据点击的坐标发射,每点击一次发射一颗炮弹。它有着自己的动作属性,例如速度和方向,还有金币不足时不允许发射炮弹。
void GameScene::onTouchEnded(Touch* touch, Event* event){ Size visibleSize = Director::getInstance()->getVisibleSize(); auto Location = touch->getLocation(); //获得坐标getLocation(); auto dx = Location.x - battery->getPositionX(); auto dy = Location.y - battery->getPositionY(); auto radian = atan2(dy , dx); auto inclination = radian * 180 / 3.14; rotation = -(inclination)+90; if (rotation <= 90 && rotation >= -90){ battery->setRotation(rotation); this->makeBullet(type); auto move2 = MoveBy::create(2, Vec2(dx * 10, dy * 10)); bullet->runAction(move2); } }
看代码,设置点击事件,根据点击坐标获取到X和Y,计算出与炮台之间的角度,可以根据炮台的设置点击之后将炮台设置偏转角,重点在于偏转角的弧度与角度之间的转换,atan2(y,x);这个函数先传入偏移Y,再传偏移X。计算出偏转角rotation之后炮台设置该角度,子弹设置该角度。makeBullet(type);type是传入炮台类型从而生成炮弹时就可以根据类型生成不同的炮弹,然后执行炮弹的移动。
void GameScene::makeBullet(int type){ Size visibleSize = Director::getInstance()->getVisibleSize(); if (coin>0){ if (type == 1){ bullet = Sprite::create("zidan1.png"); coin -= 1; } else if (type == 2){ bullet = Sprite::create("zidan2.png"); coin -= 10; } else if (type == 3){ bullet = Sprite::create("zidan3.png"); coin -= 100; } bullet->setRotation(rotation); bullet->setPosition(Vec2(visibleSize.width / 2 + 90, visibleSize.height / 2 - 333)); this->addChild(bullet, 8); bulletVec.pushBack(bullet); } if (coin<t){ auto gg = Sprite::create("gg.png"); gg->setPosition(visibleSize.width / 2, visibleSize.height / 2 + 290); addChild(gg, 9); } }这是生成炮弹时代码,当金币小于0是加载GG的图片,就是显示金币不足。当金币大于0时才可以创建炮弹,根据传入的炮台类型type判断生成的炮弹类型,扣除不同金币,设置全局的偏转角,将其放入数组bulletVec。其实还是很简单的代码,将其放入数组是用于优化游戏,方便删除,节省资源占用。其实做的时候会有很多细节需要处理,例如不放入数组删除,程序运行久了之后就会有点卡,可以试试。
相关文章推荐
- 对于基本的捕鱼游戏设计思路(二)——炮台
- 对于基本的捕鱼游戏设计思路(五)——鱼
- 对于基本的捕鱼游戏设计思路(四)——序列帧动画
- 对于基本的捕鱼游戏设计思路(六)——碰撞检测
- 对于基本的捕鱼游戏设计思路(一)——场景
- 捕鱼类游戏计算方式的设计思路
- 从游戏设计策划,网络小说写作来训练思维能力——基本思路与方法
- 设计一个编译器的基本思路
- 设计一个算法的基本思路
- 对于毕业设计,我毫无思路
- android游戏开发之我的小小游戏2——连连看游戏1之游戏的基本模块设计
- 2D手机Dota游戏设计思路
- BBS 设计思路系列 ---- 不同用户对CSDN论坛的最基本期待
- ARPG游戏引擎设计思路
- 游戏架构设计与策划的基本流程是什么?
- android 2D游戏开发,引擎设计(一) 基本构思
- 高并发web框架基本设计思路
- 资金结算中心设计基本思路
- 高并发web框架基本设计思路
- [人的十五个基本欲望]与[游戏设计]