左下角任务里的鱼是什么鱼,在哪个地方有?(ios的捕鱼达人里01任务鱼是)

后使用我的收藏没有帐号?
所属分类: &
查看: 73|回复: 0
捕鱼达人游戏中 有条嘟嘟嘴的蓝色鱼是那个版本游戏的
捕鱼达人游戏中 有条嘟嘟嘴的蓝色鱼是那个版本游戏的鱼。好喜欢那条鱼,炒鸡可爱的啊
点这里&&&&
转发朋友圈立即参与抽奖iphone7、QB、万套皮肤应有尽有!1565人阅读
cocos2d-x IOS游戏开发-捕鱼达人(21)
尊重开发者的劳动成果,转载的时候请务必注明出处:
1、鱼的产生
在一定范围内随机产生鱼
场景和屏幕的关系
屏幕只是场景的一个小区域
鱼的坐标是相对场景的。
一些简单的限定
不同的鱼有不同的产生机率
场景中的鱼有最大上限,如果上限内则不产生鱼
鱼在完全看不见的情况下有一定机率消失(可选)
正常速度,加速时速度,最大加速时间
转弯速度(转1度需要的时间)
血量(决定了能够承受攻击的次数)
2、& 鱼的移动
和移动相关的属性
在场景中的位置
在场景范围内随机挑选一个可用点进行移动
转向时,停止移动
具体实现看代码:
点击开始游戏之后:
#ifndef _GAME_LOGIC_H_
#define _GAME_LOGIC_H_
#include &cocos2d.h&
USING_NS_CC;
#include &vector&
#include &../include/IGameScene.h&
#include &../include/SignalSlot.h&
#include &../config/GameConfig.h&
#include &../config/FishConfig.h&
#include &GameLogicDef.h&
#include &GameUIMgr.h&
#include &GameObject.h&
namespace fishingjoy
namespace logic
class CGameLogic:public cocos2d::CCObject,public IGameLogic
scene::IGameScene* m_pGameS
CGameUIMgr mUIM
std::vector&CGameObject*& m_vecObjectsL
EGameState m_eGameS
//override base class.
void update(float dt);
//implement interface for IGameLogic
virtual void enterGame()
const char* szPlaySceneBg = config::CGameConfig::getPlaySceneBg();
m_pGameScene-&setBackground(szPlaySceneBg);
m_eGameState = EGS_GAME_PLAY;
//获取鱼的配置信息
const std::vector&config::SFishData&& rFishs = config::CFishConfig::getFishData();
//在屏幕上显示5条鱼
for(int i = 0; i & 5; ++i){
//随机生成鱼的索引
int idx = CCRANDOM_0_1()*rFishs.size();
//根据索引值取得鱼的数据
const config::SFishData& rData = rFishs[idx];
//创建对象鱼添加到m_vecObjectsList中
createGameObject(rData);
//emit signal... to notice that game is enter succesfully.
Event_EnterGameSuccessed();
virtual void exitGame()
shutdown();
bool init(CCScene* pScene);
void shutdown()
CCDirector::sharedDirector()-&end();
CGameObject* createGameObject(const config::SFishData& rData);
void destroyGameObject(CGameObject* pObj);
#endif再看创建游戏对象的实现:
CGameObject* CGameLogic::createGameObject(const config::SFishData& rData)
//根据鱼的AniID创建m_pGameScene的对象
scene::ISceneObject* pS = m_pGameScene-&createObject(rData.AniID);
CGameObject* pObj = new CGameObject(pS);
int maxw = config::CGameConfig::getExtendSize()+480;
int maxh = config::CGameConfig::getExtendSize()+320;
pObj-&setPosition(CCRANDOM_0_1()*maxw,CCRANDOM_0_1()*maxh);
pObj-&setDuration(360*CCRANDOM_0_1());
m_vecObjectsList.push_back(pObj);
}创建对象鱼:
ISceneObject* CGameScene::createObject(int tid)
//创建一个Scene的对象
CSceneObject* pObj = new CSceneObject(tid);
m_vecObjectsList.push_back(pObj);
pObj-&getRenderObject()-&setPosition(cocos2d::CCPointMake(150,150));
m_pObjectLayer-&addChild(pObj-&getRenderObject());
}实现真正的渲染控制
#ifndef __RENDER_OBJECT_H__
#define __RENDER_OBJECT_H__
#include &cocos2d.h&
#include &../config/AniConfig.h&
namespace fishingjoy
namespace scene
class CRenderObject:public cocos2d::CCSprite
const config::CAniObjectData* mAniObjectD
CRenderObject(int tid)
//获取鱼的动画的配置信息
mAniObjectData = config::CAniConfig::getData(tid);
if(mAniObjectData){
//获取默认的动画名字即move
const char* de = mAniObjectData-&getDefaultAni();
//根据名字设置动画的状态
setAni(de);
void setAni(const char* aniName)
if(mAniObjectData){
//根据动画名字从std::vector&SAniData& mAnis中查找SAniData,即查找动画的配置信息
const config::SAniData* pData = mAniObjectData-&getAni(aniName);
//根据动画的配置信息数据创建动画
cocos2d::CCAnimation* pAnimation = cocos2d::CCAnimation::createWithSpriteFrames(pData-&Frames,pData-&Delay);
//运行动画,CCRepeatForever的运行
this-&runAction(cocos2d::CCRepeatForever::create(cocos2d::CCAnimate::create(pAnimation)));
void update(float dt)
printf(&update render object\n&);
现在可以看到鱼在游动了!!
本节源代码与工程文件:【资源引用页】
大家还可以优化相关细节,可以适当增加属性和玩法(比如显示血条等等)。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:331851次
积分:5458
积分:5458
排名:第3429名
原创:190篇
评论:187条
Name:郝萌主
阅读:2410
文章:11篇
阅读:11483
文章:21篇
阅读:21389
文章:25篇
阅读:59641
(1)(10)(3)(5)(13)(29)(1)(3)(31)(5)(2)(13)(16)(1)(1)(59)}

我要回帖

更多关于 捕鱼达人安卓版 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信