cocos2d 高仿doodle jump 无源码

  次阅读 作者:智能小宝 来源:互联网 2015-09-27 15:23 我要评论(0)

1. 游戏视频

主角眼熟吗?没错,上次跑酷游戏中的“30”来Jump了,有三种道具,主角光环,竹蜻蜓,翅膀; 有两种怪物,螃蟹和鸟; 有5种板子。点击屏幕,30会把它的嘴巴3给发射出去,可以攻击怪物。上次的跑酷参考《cocos2d 简单高仿天天跑酷游戏》 ,苹果已经审核通过...但做的很差,后续有时间再更新。后面考虑会出更多的该主角游戏。

其实蛮讨厌"高仿"这两个字的,争取下一款游戏有更多原创部分。

2.向上跳的位移实现

vcfSu9ax1NrGwcS71tC85LXEuNC+9aGjxMfDtMjnus7Ktc/W1eLR+bXE0Ke5+8TYo7+3x7OjvPK1paGj1eLA77K7tcOyu83CstvPwmNvY29zMmQsINGnuf1PcGVuZ2wgu/LV3yBEaXJlY3RYtcSjrLa806a4w9aqtcDT0ENhbWVyYdXiw7TSu7j2tqvO97Tm1NqjrDJE087Pt9a7ysfRodTxwcvGvdDQzbbJ5KOocGFyYWxsZWwgcHJvamVjdGlvbqOpss6/vNXixqrOxNXCobZEaXJlY3RYIENhbWVyYaG3IC61qzMuMiDWrsewtcRDYW1lcmG4+bG+srvE3NPDo6wzLjOyxbzTyOvBy0NhbWVyYS4gyOe5+9PDQ2FtZXJh1eLA77vht8ezo8jd0tfKtc/Wo6zSsrj6z9bKtbHIvc/Ox7rPoaMxLsjnufvKudPDQ2FtZXJho6zL+dPQsOW1xFBvc2l0aW9uWSC+zbaoy8C1xKOs1L2437XEsOWjrMv8tcRQb3NpdGlvblkgvs3UvbTzo6zW973HzfnJz8z4yrGjrNb3vce1xFBvc2l0aW9uWdKysru2z7HktPOho9PQ0ru49kNhbWVyYaOsy/y1xM671sO4+tfF1ve9x8C00sa2r77Nv8nS1MHLoaO+zdXiw7S88rWloaMyLrK7yrnTw0NhbWVyYaOsztLTw7XEysczLjK1xGNvY29zMmQsy/nS1LK7usPKudPDQ2FtZXJho6yyydPDwcvSxrav1fu49kxheWVytcTKtc/WoaPW973Hu+HM+LP21+7Jz8PmtcTGwcS7tcSjrNT1w7Sw7LXEo7+w0dX7uPZMYXllcs35z8LSxravvs2/ydLUwcuhozxwcmUgY2xhc3M9"brush:java;">float minPositionY = 0;

void update(float dt){

//follow the hero

float nextPositionY = VISIBLE_HEIGHT / 2 - hero->getPositionY();

if(nextPositionY setPositionY(minPositionY);

}

}看起来比较简单,如果是主角掉下屏幕最底下,有一个坠落感觉,逻辑上又比较麻烦了。还是用Camera的比较好。3.板子生成的逻辑

最块又比较麻烦了。首先是板子连续生成的逻辑,不可能一次生成几十个板子,反正屏幕之上和屏幕之下用户都是看不到的,也就是说10几个板子,整个游戏就够用了。到后面,10个都不用。正常的update是一秒中执行60次。我们需要整一个慢一点的定时器,这样不会太影响性能,schedule(schedule_selector(GameObjectsLayer::createAndRemoveObjects), 0.064);,专门在里面创建板和移除不需要的板子。deque _boardObjects;

void generateSomeBoards(const int& lastPositionX,int startPosition,const int& count);

void createAndRemoveObjects(float dt){

if(_pause == true){

return;

}

if(_boardObjects.size() getPositionX(), lastBoard->getPositionY() + getGeneratorHigh(),5);

}

//remove unused boards

JumpBoard* firstBoard = _boardObjects.front();

if(hero->getPositionY() - firstBoard->getPositionY() > 600){

firstBoard->removeFromParent();

_boardObjects.pop_front();

}

}

再简单用语言来说下上面中没有给出详细代码的generateSomeBoards。游戏要考虑的东西很多:1.刚开始的时候两个板之间的距离要短些,看起来会密些,这样游戏会容易上手些,两个板之间的距离会随着主角的变高而增大。2.刚开始的时候生成板的类型要简单些,我这里只有最两种类型,到后面才会出现各种类型的板。我现在越来越意识到,如果一个游戏的主要玩法能让不懂程序逻辑的策划很容易修改的话,这个游戏写的就还不错。这里游戏的玩法就是如何控制生成板子。我必须承认这块做的还不好。typedef enum{

kNormalBoard,//0

kCloudBoard,//1

kMoveBoard,//2

kMoveLttleBoard,//3

kSpringBoard//4

}JumpBoardType;

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

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

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

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...