华容道01--分析

前端之家收集整理的这篇文章主要介绍了华容道01--分析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一直想写一个华容道的游戏,现在就通过学习Cocos2D3.x写一个华容道的游戏吧。

这个游戏的要求是,最后生成安卓项目,安装到自己的手机上玩玩吧!

开发周期初步定在2-3天。

玩法:

华容道的玩法非常简单,在地图中通过移动角色,最后让曹操移动到特定位置游戏就算结束了。

需要实现的东东:

1. 界面:

菜单界面,选关界面,游戏界面,结算界面

2. 数据:

a) 角色数据

b) 关卡数据

基本功能的分析:

游戏中有三类角色:曹操,将军(赵云等),小兵。他们在整个棋盘中分别占4,2,1个格子。而且,将军有横向和竖向之分。

华容道的棋盘是5行4列的,如下图:

代码

GameLayer.h

  1. #ifndef _GAME_LAYER_H_
  2. #define _GAME_LAYER_H_
  3.  
  4. #include "cocos2d.h"
  5.  
  6. class GameLayer : public cocos2d::Layer
  7. {
  8. public:
  9. static cocos2d::Scene* createScene();
  10. CREATE_FUNC(GameLayer);
  11. public:
  12. GameLayer();
  13. ~GameLayer();
  14. virtual bool init();
  15.  
  16. private:
  17. };
  18. #endif


GameLayer.cpp

  1. #include "GameLayer.h"
  2.  
  3. USING_NS_CC ;
  4. Scene* GameLayer::createScene()
  5. {
  6. auto scene = Scene::create() ;
  7. auto layer = GameLayer::create() ;
  8. scene->addChild(layer);
  9. return scene ;
  10. }
  11. GameLayer::GameLayer()
  12. {
  13. }
  14.  
  15. GameLayer::~GameLayer()
  16. {
  17. }
  18. bool GameLayer::init()
  19. {
  20. Size size = Director::getInstance()->getWinSize();
  21. //添加一张背景图片
  22. auto bgSprite = Sprite::create("main_bg0.png") ;
  23. bgSprite->setPosition(size.width / 2,size.height / 2) ;
  24. addChild(bgSprite);
  25.  
  26. return true ;
  27. }


AppDelegate中的修改

游戏中用到的图是320x480的,所以,改下窗口大小

AppDelegate.cpp

  1. auto director = Director::getInstance();
  2. auto glview = director->getOpenGLView();
  3. if(!glview) {
  4. glview = GLViewImpl::createWithRect("HuaRong",Rect(0,320,480));//设置下窗口尺寸
  5. director->setOpenGLView(glview);
  6. }


资源和源码:http://download.csdn.net/detail/c_boy_lu/8594823

猜你在找的Cocos2d-x相关文章