CocosEditor-java写flappyBird的过程记录【更新中】
来源:互联网 发布:家庭电子记账软件 编辑:程序博客网 时间:2024/05/21 10:44
1.先搭建好环境
http://blog.cocoseditor.com/?p=733
一开始就搭好android环境,但上面的链接只能在android环境下调试,新设置一个java config就可以调试java项目了
2.导入图片资料
可参考官网,如果要导入别人的plist文件,可参考下文
http://blog.csdn.net/xzongyuan/article/details/39781993
3.实现主菜单
加入三个sprite,并添加动画功能
这篇第十点提到,实现了合并动画功能
http://blog.csdn.net/xzongyuan/article/details/39780431
4.设计游戏界面
先不管碰撞检测,设计柱子等间隔出现。有三种思路:
1.可以for循环产生等间隔柱子。js源码就是这种,要设定好每个pipe的起始位置
2.下面是失败版本。设计了3个柱子,虽然等间隔出现,但是pipe3的第二轮等待时间点还没设计好,造成pipe1和pipe3重叠,仅供参考。
public void createPipeBarrier(){ float pipeWidth = 160; float designWidth = 720; //左右两个pipe之间的空隙 float pipeDistance = 300; //左右两个pipe之间的偏移 float pipeOffset = pipeDistance+pipeWidth; float timeTotal = 2; //pipe1出现运行至pipe消失的总长度 float disTotal = designWidth+pipeWidth; //以第一个pipe的移动速度为参考速度 float speed = disTotal/timeTotal; float startX1 = designWidth; float startX2 = designWidth+pipeOffset; final float startX3 = designWidth+pipeOffset*2; Sprite pipeBar1 = NodeReader.create().readSprite("layouts/pipeBarrier.cce"); pipeBar1.setPositionX(startX1); // pipeBar1.setTag(Constant.TAG_PIPE_1); pipeBar1.runAction(RepeatForever.create(Sequence.create( MoveTo.create((startX1+pipeWidth)/speed,new Vec2(-pipeWidth,0)), MoveTo.create(0, new Vec2(startX1, 0)), DelayTime.create((startX3+pipeWidth)/speed-(startX1+pipeWidth)/speed) ))); //固定两个pipe之间的距离 Sprite pipeBar2 = NodeReader.create().readSprite("layouts/pipeBarrier.cce"); pipeBar2.setPositionX(startX2); // pipeBar2.setTag(Constant.TAG_PIPE_2); pipeBar2.runAction(RepeatForever.create(Sequence.create( MoveTo.create((startX2+pipeWidth)/speed,new Vec2(-pipeWidth,0)), MoveTo.create(0, new Vec2(startX2, 0)), //消失后,等待所有pipe消失 DelayTime.create((startX3+pipeWidth)/speed-(startX2+pipeWidth)/speed) ))); Sprite pipeBar3 = NodeReader.create().readSprite("layouts/pipeBarrier.cce"); pipeBar3.setPositionX(startX3); // pipeBar2.setTag(Constant.TAG_PIPE_2); pipeBar3.runAction(RepeatForever.create(Sequence.create( MoveTo.create((startX3+pipeWidth)/speed,new Vec2(-pipeWidth,0)), MoveTo.create(0, new Vec2(startX3, 0)) //所有pipe消失,不用等待 ))); owner.addChild(pipeBar1); owner.addChild(pipeBar2); owner.addChild(pipeBar3); }3.用onUpdate()这个方法最好用了,之前不知道,搞了N久。简单易行,效果如下:
5.点击事件的实现
6.碰撞检测
7.计分功能
0 0
- CocosEditor-java写flappyBird的过程记录【更新中】
- CocosEditor-java开发关键函数汇总【更新中】
- C#写的FlappyBird
- CocosEditor-java
- 【Java--工作记录】工作遇到的问题记录--更新中
- CocosEditor-java ListView显示
- 开始记录写比赛平台的过程
- java开发过程中遇到的问题(持续更新)
- CocosEditor-java 图层问题
- CocosEditor-java onContactBegin无反应
- CocosEditor-java 之PolygonShape错误
- Java编程过程中遇到的问题记录
- oracle过程中取得更新操作影响的记录条数
- iOS 开发过程中记录的一些小知识(持续更新...)
- 记录oracle11g使用过程中遇到的一些问题,会持续更新。
- 硬盘数据恢复过程记录(断断续续更新中……)
- java实现flappyBird游戏
- Java游戏:FlappyBird源代码
- HDU 3829 Cat VS Dog
- Pig简介
- Responder一点也不神秘————iOS用户响应者链完全剖析
- 第一次学习django的体会
- Java异常体系:Checked异常和Runtime异常
- CocosEditor-java写flappyBird的过程记录【更新中】
- 黑马程序员—字符流_BufferedReader_BufferedWriter
- ACM大牛。。。
- 社交O2O的进化
- 简单的makefile编写
- 数位dp 3943 二分法
- XCODE6中使用iOS7 SDK的方法
- ?super T 和? extends T区别
- 成佩涛-利用fikker建立超乎web架构的网络缓存加速区