一、规则

  游戏2048的规则很简单

  2+2=4  4+4=8 8+8=16 16+16=32 ……1024+1024=2048

  这游戏挺火的……不过做起来也不难,就用cocos2dx做一下,首先我也没看过别人 怎么做的,当然写的也不是很好,能玩……

  

二、游戏

  游戏的界面是用画的,数字是写上去的,卡片的移动效果没有做,加入了声音,玩起来还行。

  1、主要的类只有四个:

    GameScene 主场景(分值显示、菜单按钮、游戏区域)

    GameLayer 游戏操作区域(数值变化、逻辑控制)

    GameItem  游戏中的格子控件(颜色,数字显示)

    GameMenuLayer 游戏中的菜单(重置、暂停或开始)

  2、移动方向的判断

    移动方向是通过手指触摸起点到移动终点的距离来判断的,横向距离小于纵向距离则为向上或者下移动,横向距离大于纵向距离则为向左或者右移动

  3、颜色控制 

   

if(_num == ){
_layer->setColor(cocos2d::Color3B(,,));
}
if (_num == ) {
_layer->setColor(cocos2d::Color3B(,,));
}
if (_num == ) {
_layer->setColor(cocos2d::Color3B(,,));
}
if (_num == ) {
_layer->setColor(cocos2d::Color3B(,,));
}
if (_num == ) {
_layer->setColor(cocos2d::Color3B(,,));
}
if (_num == ) {
_layer->setColor(cocos2d::Color3B(,,));
}
if (_num == ) {
_layer->setColor(cocos2d::Color3B(,,));
}
if (_num == ) {
_layer->setColor(cocos2d::Color3B(,,));
}
if (_num == ) {
_layer->setColor(cocos2d::Color3B(,,));
}
if (_num == ) {
_layer->setColor(cocos2d::Color3B(,,));
}
if (_num == ) {
_layer->setColor(cocos2d::Color3B(,,));
}
if (_num == ) {
_layer->setColor(cocos2d::Color3B(,,));
}

三、横竖屏设置

  横竖屏的设置在AndroidManifest.xml文件中

  screenOrientation="landscape" 为横屏,

  screenOrientation="portrait"为竖屏

  这里在编译apk文件时要设置,因为我们的游戏是竖屏的,不然会有显示问题。

四、屏幕适配

  屏幕适配的问题我忘记在哪里找到的,不过适配的效果不错,在代码里面。

五、下载

  Game2048.apk

  链接: http://pan.baidu.com/s/1iyBp0 密码: 2y8y

  Game2048代码

  链接: http://pan.baidu.com/s/1sjGzWx3 密码: kxct

Cocos2d-x 3.2 学习笔记(十一)Game 2048的更多相关文章

  1. python3.4学习笔记(十一) 列表、数组实例

    python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...

  2. Go语言学习笔记十一: 切片(slice)

    Go语言学习笔记十一: 切片(slice) 切片这个概念我是从python语言中学到的,当时感觉这个东西真的比较好用.不像java语言写起来就比较繁琐.不过我觉得未来java语法也会支持的. 定义切片 ...

  3. JavaScript权威设计--JavaScript函数(简要学习笔记十一)

    1.函数调用的四种方式 第三种:构造函数调用 如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内.这和函数调用和方法调用是一致的.但如果构造函数没有形参,JavaScri ...

  4. SharpGL学习笔记(十一) 光源创建的综合例子:光源参数可调节的测试场景

    灯光的测试例子:光源参数可以调节的测试场景 先看一下测试场景和效果. 场景中可以切换视图, 以方便观察三维体和灯光的位置.环境光,漫射光,镜面反射光都可以在四种颜色间切换. 灯光位置和摄像机位置(Lo ...

  5. java jvm学习笔记十一(访问控制器)

     欢迎装载请说明出处: http://blog.csdn.net/yfqnihao/article/details/8271665 这一节,我们要学习的是访问控制器,在阅读本节之前,如果没有前面几节的 ...

  6. Oracle学习笔记十一 游标

    游标的简介 游标的概念 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作 ...

  7. Java基础学习笔记十一 Eclipse开发工具

    Eclipse是功能强大Java集成开发工具.它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公司中,使用的就是Eclipse进行开发. Eclipse的下载.安装.卸载 下载 http:/ ...

  8. (C/C++学习笔记) 十一. 数组

    十一. 数组 ● 基本概念 数组:数组是一组在内存中依次连续存放的(数组所有元素在内存中的地址是连续的).具有同一类型的数据变量所组成的集合体.其中的每个变量称为数组元素,它们属于同一种数据类型,数组 ...

  9. Vue学习笔记十一:按键修饰符和自定义指令(钩子函数)

    目录 padStart:补位 按键修饰符 Vue提供的按键修饰符 自定义按键修饰符 自定义指令 自定义指令的使用 钩子函数 钩子函数参数 使用钩子函数的bingding参数 私有自定义指令 钩子函数的 ...

  10. SQLite学习笔记(十一)&&虚拟机原理

    前言      我们知道任何一种关系型数据库管理系统都支持SQL(Structured Query Language),相对于文件管理系统,用户不用关心数据在数据库内部如何存取,也不需要知道底层的存储 ...

随机推荐

  1. JavaWeb开发学习(一)-JavaWeb开发概述

    1.Web相关概念 Web程序也就是一般所说的网站,由服务器.客户端浏览器以及网络组成.Web程序的好处是使用简单,不需要安装.学习,有一台电脑.一根网线就可以使用.Web程序不是一般意义上的网站.网 ...

  2. 关于STM32-MDK中preprocessor symbols解释

    preprocessor symbols 是预处理符号的意思,这里相当于宏定义,我们在使用STM32固件库时,由于固件库里面包含的是ST整个系列单片机的定义,如下图 这时在define框中可以作为一个 ...

  3. 如何安装Docker UCP

    parallels@ubuntu:~/Downloads/Docker$ ls DTR UCP parallels@ubuntu:~/Downloads/Docker$ sudo openssl re ...

  4. 使用gson在解析unicode时遇到的问题

    之前在用gson解析的时候未记录下来,所以今天做一个小的总结, 比如遇到像这种"\u003d"的unicode的字符,我们想解码这个字符,用gson可以这样表达 Gson gson ...

  5. poj 1702 三进制问题

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3906   Accepted: 1924 Description Eva h ...

  6. 彻底理解ThreadLocal二

    首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.各 ...

  7. Oracle Created (Default) Database Users

    http://www.idevelopment.info/data/Oracle/DBA_tips/Database_Administration/DBA_26.shtml DBA Tips Arch ...

  8. C# Retry重试操作解决方案(附源码)

    一.前言 (1)对于Thread的Abort方法,如果线程当前正在执行的是一段非托管代码,那么CLR就不会抛出ThreadAbortException,只有当代码继续回到CLR中时,才会引发Threa ...

  9. 记一次Redis和NetMQ的测试

    Redis是一个高速缓存K-V数据库,而NetMQ是ZeroMQ的C#实现版本,两者是完全不同的东西. 最近做游戏服务器的时候想到,如果选择一个组件来做服务器间通信的话,ZeroMQ绝对是一个不错的选 ...

  10. UWP?UWP! - Build 2015有些啥?(2)

    UWP?UWP! - Build 2015有些啥? Build 2015圆满落幕了,不知大家有多少人刷夜看了直播呢?不管怎么说,想必各位都很好奇在这场微软开发者盛宴上,Microsoft又发布了什么令 ...