变态捕鱼达人人千炮版子弹怎么减速

贝贝捕鱼子弹加速器
相关游戏下载
版本:PC版
版本:PC版
版本:PC版
版本:PC版
版本:单机版
| 4个回答 14:34
| 4个回答 10:45
| 4个回答 09:16
1个回答 16:21
1个回答 05:45
人数/群容量
贝贝捕鱼游戏群
充值退分【QQ...
山东省德州市
贝贝游戏捕鱼
山东省德州市
贝贝游戏贝贝金币捕鱼
福建省福州市
99棋牌+贝贝+66捕鱼
福建省福州市
贝贝\/盛大5678\/捕鱼游戏
浙江省舟山市
包含游戏:漫天鱼
我爱世界杯
捕鱼之都棋牌的现在《捕鱼之都棋牌》是一款由深圳市盛世图文网络科技有限公司自...
包含游戏:保卫钓鱼岛
77捕鱼游戏中心是一款以深海捕鱼为题材的网络街机游戏平台,由上海市乐游网络...
包含游戏:金蟾捕鱼
暂时没有更多关于66捕鱼棋牌的相关信息!
包含游戏:欢乐捕鱼
暂时没有更多关于欢乐捕鱼的相关信息!
包含游戏:李逵劈鱼
暂时没有更多关于7游捕鱼的相关信息!
包含游戏:华人捕鱼
华人捕鱼游戏平台是一款以捕鱼游戏为主的休闲游戏平台,华人游戏平台以街机素材...
联系人:张先生&&
地址:西三区北门
摘要: 休闲时光,以棋盘会友;
联系人:陈先生&&
地址:朝阳区望京南湖东园二区224号楼
摘要:本棋牌室 24小时为您竭诚服务 &...
联系人:汪作秀&&
地址:烽火村汇东佳韵
摘要:烽火村汇东佳韵11-2-303,有...
联系人:韩女士&&
地址:南阳路与农业路小区
摘要:可全转,6万8 &也可空...
联系人:许女士&&
地址:融侨观邸
摘要:家中有事转让盈利中棋牌室,4张麻将...
联系人:左小姐&&
地址:广州酒家
摘要:主管。部长。茶艺师生熟手,待遇底薪...
官方QQ群(点击加入)
用户交流群:
扫一扫加入QQ群抱歉,指定的主题不存在或已被删除或正在被审核wangqiao123原创,欢迎转载,转载请在明显处注明! 谢谢。
初学cocos2d-x,捕鱼达人也搞了很长时间了,经历过迷惘,最终克服了困难,这是其中关于子弹层的编写,也是我的第一篇博文吧,大家可以作为借鉴,其中注释已经很详细了,这也算是我的学习笔记吧,其他的类以后会陆陆续续的发出来.
#ifndef __BULLET_H__
#define __BULLET_H__
#include &BasicLayer.h&
#include &GameCore.h&
#include &cocos2d.h&
USING_NS_CC;
class BulletLayer:public BasicLayer
CCSprite *m_BulletS
BulletLayer(void);
~BulletLayer(void);
virtual bool init();
static CCScene *scene();
void main();
//发射子弹
炮台类型(特殊处理子弹的大小
运用放缩原理)
void BulletFire(const CCPoint &ptStart,float rotation,GameCore::enCannonType CannonType);
/*不需要,只有在返回类型是指针或者引用类型的时候才有意义,表示不允许通过这个返回的指针或者返回的引用去修改数据。
有时候也用于返回类型是自定义类型的情况,不允许对返回值再直接赋值,但这种用法只在理论上有意义。*/
//子弹回调函数
void BulletEndCallback(CCNode* sender);
CREATE_FUNC(BulletLayer);
#endif __BULLET_H__
#include &BulletLayer.h&
#include &GameScene.h&
#include &GameCore.h&
#include &cocos2d.h&;
USING_NS_CC;
BulletLayer::BulletLayer(void)
BulletLayer::~BulletLayer(void)
bool BulletLayer::init()
bool bRet =
CC_BREAK_IF(!BasicLayer::init());
//加载炮弹的纹理缓存
CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache();
cache -& CCSpriteFrameCache::addSpriteFramesWithFile(&Fish/plist/shot_0_3.plist&,&Fish/plist/shot_0_3.png&);
cache -& CCSpriteFrameCache::addSpriteFramesWithFile(&Fish/plist/shot_1_3.plist&,&Fish/plist/shot_1_3.png&);
//加载炮弹的动画纹理缓存
CCAnimationCache *animacache = CCAnimationCache::sharedAnimationCache();
animacache -& CCAnimationCache::addAnimationsWithFile(&Fish/plist/shot_0_3_anims.plist&);
animacache -& CCAnimationCache::addAnimationsWithFile(&Fish/plist/shot_1_3_anims.plist&);
} while (0);
this-&main();
//类外调用
CCScene *BulletLayer::scene()
CCScene *scene = CCScene::create();
BulletLayer *bulletLayer = BulletLayer::create();
scene-&addChild(bulletLayer);
void BulletLayer::main()
//发射子弹函数
void BulletLayer::BulletFire(const CCPoint &ptStart,float rotation,GameCore::enCannonType CannonType)
发射的炮弹是一个无限循环的动画
实现炮弹的 分级
1-4 级炮弹是一组图片
5-7级炮弹是一组图片
CBulletObject *pBulletObject = new CBulletO
pBulletObject-&m_CannonType = CannonT//对子弹数据进行赋值
int nFish = 0;//实现炮弹分级
if (CannonType&GameCore::CannonType_4)
nFish = 1;
CCSize szS//缩放大小
switch (CannonType)
case GameCore::CannonType_0: { szScale.width=0.5f; szScale.height=0.5f; }
case GameCore::CannonType_1: { szScale.width=0.6f; szScale.height=0.6f; }
case GameCore::CannonType_2: { szScale.width=0.7f; szScale.height=0.7f; }
case GameCore::CannonType_3: { szScale.width=0.8f; szScale.height=0.8f; }
case GameCore::CannonType_4: { szScale.width=0.9f; szScale.height=0.9f; }
case GameCore::CannonType_5: { szScale.width=0.9f; szScale.height=0.9f; }
case GameCore::CannonType_6: { szScale.width=1.0f; szScale.height=1.0f; }
ostr&&&shot_&&&nFish&&&_3_01.png&;//将第一帧赋予精灵,
plist 里的文件名
CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache();//读取缓存
m_BulletSprite = CCSprite::createWithSpriteFrame(cache-&spriteFrameByName(ostr.str().c_str()));
m_BulletSprite-&setUserObject(pBulletObject);//将子弹数据加入用户数据对象
//m_BulletSprite = CCSprite::create(&Fish/plist/1.7.png&,CCRectMake(193,0,47,48));//后面可以跟位置属性
//m_BulletSprite-&setUserObject(pBulletObject);//将子弹精灵设置为子弹类对象
貌似没找到setUserObject的定义
//计算子弹终点坐标
CCPoint ptEnd (ptStart.x+57*std::sin(rotation*M_PI/180), ptStart.y+57*std::cos(rotation*M_PI/180));//rotation*M_PI/180 角度转化成弧度
弧度转换成角度 rotation*180/M_PI
106是预定半径
m_BulletSprite-&setPosition(ptEnd);//指定目标
子弹出发点
距炮口一段距离
m_BulletSprite-&setRotation(rotation);//旋转角度
m_BulletSprite-&setScaleX(szScale.width);//X放大比例
m_BulletSprite-&setScaleY(szScale.height);//Y放大比例
addChild(m_BulletSprite);
ostr.str(&&);//???
ostr&&&shot_&&&nFish&&&_3_capture&;
CCAnimationCache *animacache = CCAnimationCache::sharedAnimationCache();
CCAnimation *bulletMoves = animacache-&animationByName(ostr.str().c_str());//CCAnimation
bulletMoves-&setRestoreOriginalFrame(true);
//bulletMoves-&setLoops(-1);
CCRepeatForever *Actbullet=CCRepeatForever::create(CCAnimate::create(bulletMoves));
/*CCAnimate *Actbullet = CCAnimate::create(bulletMoves);*/
m_BulletSprite-&runAction(Actbullet);
CCMoveBy *actBullet = CCMoveBy::create(1.2f,ccp(320*std::sin(rotation*M_PI/180),320*std::cos(rotation*M_PI/180)));
CCSequence *seq=(CCSequence*)CCSequence::create(actBullet,CCCallFuncN::create(this, callfuncN_selector(BulletLayer::BulletEndCallback)), NULL);
//CCFiniteTimeAction *seq=CCSequence::create(actBullet, NULL);
//CCSequence *seq = (CCSequence*)CCSequence::create(actBullet, NULL);
m_BulletSprite-&runAction(seq);
//在这里张开网
void BulletLayer::BulletEndCallback(CCNode* sender)
CCLOG(&BulletLayer::BulletEndCallback&);
//getUserObject()返回与此节点关联的 Object 值
CBulletObject *pBulletObject = (CBulletObject *)sender-&getUserObject();// 指向子弹节点
//判断是否张开网
CCPoint pt = sender-&getPosition();
if (pt.x&=0 && pt.x&=Size.width && pt.y&=0 && pt.y&=Size.height)
GameScene *pGameScene = (GameScene*)getParent();//获取父节点
pGameScene-&m_NetLayer-&NetFire(pt,pBulletObject-&m_CannonType);
pBulletObject-&release();
removeChild(sender,true);
本文已收录于以下专栏:
相关文章推荐
只是用到皮毛,各位大神不喜勿喷,有什么好的建议,请指出
**Cocos2d-x子弹篇**
对象池: 主要 是为了 避免在程序的生命周期中,大...
感谢点评与关注,欢迎转载与分享。
勤奋努力,持之以恒!
一般在游戏中我们避免不了处理旋转或者子弹发射什么的,就比如塔防游戏来说吧,我们需要判断敌人往哪里走,炮塔就往哪里转,转完然后朝着一个方向发射子弹(是一个方向而不是朝一个点,就比如保卫萝卜,子弹穿过怪物...
接下来我们为飞机添加子弹,首先创建一个
本篇文章的代码例子: /s/ICRLw
在上一篇文章的基础之上,实现FishLayer类。
FishLayer.h
#include &coc...
要实现一个炮台,可以先把子弹放一边,把炮台的事给搞定。
炮台需要做的就是当点击屏幕上某一点时,炮台会旋转,并且指向该点。
把旋转的方法写到onTouchBegan里面即可,代码如下:
他的最新文章
讲师:AI100
讲师:谢梁
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)捕鱼达人网页版在线玩|捕鱼达人千炮版网页活动下载_v1.3.0_9号软件下载

我要回帖

更多关于 千炮捕鱼达人 的文章

 

随机推荐