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

前言


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

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

开发工具: vs2012 + cocos2dx-3.5

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

布局


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

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

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

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

代码结构


代码结构说明

  • 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 .

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端新视界

浅谈 Angular 项目实战

我不是 Angular 的布道者,但如今自称 Angular 派,使用 Angular 做项目让我有一种兴奋感。目前的三大主流前端框架都研究过,博客中也有三者的...

19400
来自专栏破晓之歌

vue的video插件vue-video-player

在线视频文件格式转化工具:https://cloudconvert.com/wmv-to-mp4

1.6K30
来自专栏IMWeb前端团队

切图工具/插件介绍

本文作者:IMWeb moonye 原文出处:IMWeb社区 未经同意,禁止转载 切图工具 切图插件 这里的插件都是ps的插件,比较小巧,易于安装和适...

46780
来自专栏程序员同行者

项目- Vue全家桶实战去哪网App

基于 Vue 全家桶 (2.x) 制作的 去哪网APP项目,项目完整、功能完备、UI美观、交互一流。

23220
来自专栏BestSDK

开发小程序没那么难,看完这5个套路你就全懂了

你或许听说过,快速入门就是要学最小必要知识。而我最近在看微信小程序的官方教程时发现,这个教程虽然简单,但对于微信小程序开发来说,80%的套路都能从这里学习到,你...

3.1K50
来自专栏编程

前端三大框架大杂烩

摘要:从angular的诞生独步天下,到现在三大框架平分天下,基本形势已经趋于稳定。每一个框架从诞生到受欢迎,都有其特定的原因和背景。不同的开发者选择时,也是依...

42350
来自专栏郭霖

Android通知栏微技巧,那些你所没关注过的小细节

本篇文章首发于我的微信公众号,其实通常情况下我都不会将微信文章再在博客上发表的,因为我认为两者区别比较大。微信文章偏向于短小精炼,毕竟要在手机上阅读,博客文章则...

37280
来自专栏IT技术精选文摘

Facebook构建高性能Android视频组件实践之路

其他的视频新闻类型可以播放生成的视频,赞助商的信息,或者短动画。 CoreVideoComponent是一个有着最简特性的任何视频新闻都需要的MountSpec...

432100
来自专栏SEO

页脚、内容和导航中的链接如何影响SEO?

306110
来自专栏Material Design组件

Human Interface Guidelines — Modality

17530

扫码关注云+社区

领取腾讯云代金券