Cocos2d-x 3.2 学习笔记(十一)Game 2048

本文详细介绍了如何使用Cocos2dX进行2048游戏的开发与优化,包括游戏规则、界面设计、移动逻辑、颜色控制、横竖屏设置、屏幕适配及最终的下载链接。

一、规则

  游戏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 == 0){  
        _layer->setColor(cocos2d::Color3B(200,190,180));  
    }  
    if (_num == 2) {  
        _layer->setColor(cocos2d::Color3B(240,230,220));  
    }  
    if (_num == 4) {  
        _layer->setColor(cocos2d::Color3B(240,220,200));  
    }  
    if (_num == 8) {  
        _layer->setColor(cocos2d::Color3B(240,180,120));  
    }  
    if (_num == 16) {  
        _layer->setColor(cocos2d::Color3B(240,140,90));  
    }  
    if (_num == 32) {  
        _layer->setColor(cocos2d::Color3B(240,120,90));  
    }  
    if (_num == 64) {  
        _layer->setColor(cocos2d::Color3B(240,90,60));  
    }  
    if (_num == 128) {  
        _layer->setColor(cocos2d::Color3B(240,90,60));  
    }  
    if (_num == 256) {  
        _layer->setColor(cocos2d::Color3B(240,200,70));  
    }  
    if (_num == 512) {  
        _layer->setColor(cocos2d::Color3B(240,200,70));  
    }  
    if (_num == 1024) {  
        _layer->setColor(cocos2d::Color3B(0,130,0));  
    }  
    if (_num == 2048) {  
        _layer->setColor(cocos2d::Color3B(0,130,0));  
    }
View Code

三、横竖屏设置

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

  screenOrientation="landscape" 为横屏,

  screenOrientation="portrait"为竖屏

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

四、屏幕适配

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

五、下载

  Game2048.apk

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

  Game2048代码

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

转载于:https://www.cnblogs.com/Richard-Core/p/4010872.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值