初学cocos2dx 写了个2048 跟大家一起分享下

首先是头文件

部分代码是借鉴加修改  大部分是自己写的。


class HelloWorld : public cocos2d::CCLayer
{
public:

    virtual bool init();
    static cocos2d::CCScene* scene();
    void menuCloseCallback(CCObject* pSender);
    CREATE_FUNC(HelloWorld); //以上为自动生成的代码
    bool doUp(); //实现上下左右移动功能
    bool doDown();
    bool doLeft();
    bool doRight();
    void createCardSprite(cocos2d::CCSize size);  //创建出一个4*4的精灵矩阵
    void HelloWorld:: Random_createCardSprite(); //随机生成数字 随机位置生成
    bool HelloWorld:: FullScreen(); //判断是否全屏充满了数字 并且不能移动
    bool HelloWorld:: GameOver();// 游戏结束
    void random_num(int x,int y);// 随机生成2跟4
    
    void Random_createCardSprite_easy(int flag); // 设置这个函数的目的本来是想设置游戏难度 由于并未实现选难度的功能 所以 这个函数只有只有调用 Random_createCardSprite(int flag);的功能
    void HelloWorld:: Random_createCardSprite(int flag); //随机生成数字   有规律的生成  向上移动则在下面生成

private:int firstX,firstY,endX,endY; //触摸点的坐标 CardSprite *CardNum[4][4]; //创建 数字精力的数组对象 4*4};



class CardSprite: public cocos2d::CCSprite
{
public:
    virtual bool init();
    static CardSprite* createCardSprite(int numbers,int width,int height,float CardSpriteX,float CardSpriteY);
    CREATE_FUNC(CardSprite);
    int GetNumber();//取得这个精灵所代表的数字

    void SetNumber(int NewNumbers); //修改这个精灵所代表的数字

    void change_num_view(); //改变数字的外观 根据 数字大小转换颜色
private:
	int number; //这个精灵所代表的数字
	void NumberInit(int numbers,int width,int height,float X,float Y);  //初始化“数字”

    //定义显示数字的控件
    cocos2d::CCLabelTTF *labelTTFCardNumber;  

    //显示背景
    cocos2d::CCLayerColor *layerColorBG;
};



初学cocos2dx 写了个2048 跟大家一起分享下

时间: 2024-08-05 20:38:55

初学cocos2dx 写了个2048 跟大家一起分享下的相关文章

初学Cocos2dx

初学cocos2dx Cocos2dx 中的主要概念包括:应用.导演.场景.层.精灵.动画.动作. Cocos2dx里面的主要类 1.CCObject Object Object Object 是cocos2dx的主要基类.主要提供了引用计数的功能. 2.CCPoolManager CCPoolManager CCPoolManager CCPoolManager 是个单体类,负责管理多个垃圾回收器 CCAutoreleasePool 在CCObject::Autorelease方法中单体CCP

使用jqplot创建报表(一) 初学后写的第一个案例源码

一.初学后写的第一个案例源码 效果图: 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ include file="common.jsp"%> <html> <head> <script type="text/javascript" src=&q

用控制台写类窗体2048小游戏

原文地址:用控制台写类窗体2048小游戏作者:余文 2048是一个很简单的小游戏,这是我自己实现的一个版本. 这个版本有两个特色 这是一个高仿窗体程序的控制台程序. 通过使用指针将四个方向的移动简化成了一个方向的移动. 当初刚出来2048小游戏的时候,玩的不亦乐乎.之后根据游戏规则自己花了一下午时间用控制台写了一个玩,没有参考源码. 当时只实现了游戏的移动逻辑和胜负判定逻辑,界面很简单,但已经可以玩玩了. 这是当初刚写完发空间说说得瑟的时候. 今年5月有段时候比较闲,对程序做了较大更新. 实时显

初学Python写二进制文件

初学Python写二进制文件 把一个图片的16进制数据保存到一个txt文本,从这个txt文本读出并保存为二进制文件jpg图片文件.说明:图片读出的0xff粘贴ff到文本中,读出时是字符串的"ff". 我主要是用C语言,python为初学,python的编码思想还是用C的思想. 一.C的实现: #include <stdio.h> #include <string.h> /******************************* 函数名:DSP_2_HEX

Cocos2d-x 个人笔记 《2048》(4)

忧伤的Android移植之路. 1)首先得安装eclipse,android-sdk,android-ndk-r9d,Java.eclipse 还的安装插件ADT 插件,各种环境变量.反正能保证第一个Android HelloWorld能成功就好.这就不详细说了. 2)我的这些全部放在D盘根目录下,如果有变化,请找到相应安装目录. 3) 打开Eclipse 开始导入包. 4)导入一个Android包 5)选择你的项目下的proj.android 6)复制Cocos2d相关的库文件到自己的项目下面

无聊写了个2048

import java.awt.Color; import java.awt.Font; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.Random; import javax.swing.JFrame; import javax.swi

[Eclipse]已经写好的代码怎样切换为unix下的换行符?

切换换行符的显示格式, 一般的设置是这样的: 但是这样只能对新文件起作用,原来已经写好的还是那熊样.(怎么办呢,得吃后悔药啊,谁让你开始没准备好呢?!T_T) 下面就是后悔药: 这样就OK了. 附:有图有真相 转换前: 转换后: [Eclipse]已经写好的代码怎样切换为unix下的换行符?,布布扣,bubuko.com

为了免费拿到微软的年底发布会的门票,只有厚着脸皮再写些 Microsoft Dynamics CRM 2013文章分享了

奔跑中的2015, 为了免费拿到微软的每年年底发布会的门票和IT相关的证书,没有办法,本人大专学历太低,最近本人所以在的城市政府有人才奖厉计划,就因要求本科及以上学历,都跟本人无缘了,所以只有厚着脸皮再写些 Microsoft Dynamics CRM 2013文章分享了,争取能在微软得到证书,肯定自已了. 前几个月在家里找到2012年的一张微软北京技术大会的门票,想想今年应该写点什么技术文章,再免费参加一次会议吧,想想写什么方面的呢,微软的office,server,数据库等专家太多了,写不过

一步一步写算法(之哈夫曼树 下)

原文:一步一步写算法(之哈夫曼树 下) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 前面说到了哈夫曼树的创建,那下面一个重要的环节就是哈夫曼树的排序问题.但是由于排序的内容是数据结构,因此形式上说,我们需要采用通用数据排序算法,这在我之前的博客里面已经涉及到了(通用算法设计).所以,我们所要做的就是编写compare和swap两个函数.通用冒泡代码如下所示, void bubble_sort(void* array[], int le