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重叠,仅供参考。
3.用onUpdate()这个方法最好用了,之前不知道,搞了N久。简单易行,效果如下: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); }