前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >cocos2dx-v3.5 2048 (一): 项目架构

cocos2dx-v3.5 2048 (一): 项目架构

作者头像
一灰灰blog
发布2018-02-06 12:06:04
7040
发布2018-02-06 12:06:04
举报
文章被收录于专栏:小灰灰小灰灰

前言


开始学习cocos2dx, 在看完官方的基本文档之后,选择2048游戏作为第一次实战训练,并记下整个开发过程

关于2048的教程和源码很多,即便是同样采用cocos2dx引擎开发的源码也不在少数,本项目的架构也极大的参考了前人的源码,当然也做出了部分修改,首先是增加了移动动画效果,为游戏增加了三种模式(经典模式,小兵传奇模式,纯色模式)

开发工具: vs2012 + cocos2dx-3.5

源码地址: https://github.com/liuyueyi/2048

布局


游戏的整体界面非常简单,从下图可以看出,主要分为三个部分: GameTool, GameMenuLayer, GameLayer

image_thumb[3]
image_thumb[3]

GameTool: 主要包含标题(2048), 分数(score), 最高分(best) 三个标签

GameMenuLayer: 则主要包括三个菜单按钮, 重新开始, 后退一步, 设置(设置中主要用于更改游戏的模式,开关声音)

GameLayer: 则是数字的界面了,包括背景绘制,游戏逻辑判断

代码结构


image_thumb[4]
image_thumb[4]

代码结构说明

  • AppDelegate: 每个项目都有的,主要是用于设置一些基本配置相关的属性,并首次启动运行场景
  • DataConf: 保存数据,将当前游戏的状态(分数,最高分,游戏格局)保存在xml文件中,便于下次启动时恢复
  • GameLayer: 主界面,包括显示背景,数字单元格, 游戏逻辑判断
  • GameMenuLayer: 菜单,主要是实现restart, undo, set三个菜单的功能
  • GameScene: 主场景,将GameMenuLayer, GameTool, GameLayer显示在场景中
  • GameTool: 分数和最高分Label的显示及更新
  • Grid: 单元格,包括单元格的背景色,显示内容,及移动动画
  • MenuButton: 对菜单的封装,主要就是将Label转为MenuItem并返回
  • SetMenu: 设置菜单界面,包括三种模式的切换以及声音的开关

本游戏全部的布局全部采用绘制方式进行,即没有采用资源文件,游戏源码地址:https://github.com/liuyueyi/2048

创建一个项目的命令:

cocos new 2048 -p hust.july.soldier -d .

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 布局
  • 代码结构
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档