程序目标:实现2048小游戏的玩法功能,并且初步了解使用cocos2dx编写程序
计划用时:3到5天
使用引擎:cocos2dx-3.6版本
操作系统:OS
IDE:Xcode
前言:第一个项目来点简单的,不需要美术资源的2048当然是第一选择。小游戏,简单直观易于拆解需求更是我菜鸡的福音。好了,废话少说,我们下面就开始2048的编写吧。
需求分析: 1.游戏标题。
2.累积的分数展示。
3.重置按钮。
4.4 * 4的底盘以及可以变化的"卡牌"
1.0 界面布置
从头脑中的原型到一个实际完成的项目,总是有许多弯路要走。正所谓万事开头难,怎么来开始这个项目正是菜鸡的第一个难题。我选择根据需求分析建立界面布局作为第一个步骤。这个是最简单的,最好入手的,而且可以马上给一个完整的游戏画面。这样一来,貌似还是有点成就感的。
好,根据网上的各路大神给的教程,我终于成功的建立了一个空的项目。(卧槽,Run起来还真是不容易)
迫不及待了,马上打开工程,进入classes略过AppDelegate直接杀进HelloWorldScene.h
在头文件中定义各种变量方法。。搞起走!
对了,在这之前我们得梳理一下到底我们开始要做什么,对了就是根据需求分析建立界面布局。那么到底有哪些需要布局呢?如需求分析所列,游戏标题,累积的分数,重置按钮。
在HelloWorld.h中
private:
//记录分数
int score;
//标题展示板
cocos2d::Label *title;
//分数标题板
cocos2d::Label *showLabel;
//分数展示板
cocos2d::Label *scoreLabel;
//重置游戏
cocos2d::Label *restartLabel;
声明完成后,除开分数,这里还有三个Label需要摆放位置。唔...背景颜色需要设置,搞起!
在HelloWorld.cpp中
//分数初始化
score = 0;
//设置背景颜色
auto BgColor = LayerColor::create(Color4B(180,170,160,255));
this->addChild(BgColor);
//摆放标题板
title = Label::createWithTTF("My2048", "fonts/arial.ttf", 60);
title->setColor(Color3B(255,255,153));
title->setPosition(visibleSize.width / 2,visibleSize.height - 50);
this->addChild(title);
//摆放重置板
restartLabel = Label::createWithTTF("Rest", "fonts/arial.ttf", 30);
restartLabel->setColor(Color3B(200,255,250));
restartLabel->setPosition(visibleSize.width / 2,visibleSize.height - 110);
this->addChild(restartLabel);
//摆放分数标题板
showLabel = Label::createWithTTF("score", "fonts/arial.ttf", 30);
showLabel->setPosition(visibleSize.width / 5,visibleSize.height - 150);
this->addChild(showLabel);
//摆放分数板
scoreLabel = Label::createWithTTF("0", "fonts/arial.ttf", 30);
scoreLabel->setPosition(visibleSize.width / 2 + 60,visibleSize.height - 110);
this->addChild(scoreLabel);
好了,到目前位置,菜鸡终于将这些板子都摆好了。运行一下看看效果,毕竟辛苦了半天,坐标可是用猜的。。。来,我们看看在Iphone4s模拟器上跑出来的效果。高清无码献给各位
卧槽,好像有点不对。。这不是竖屏的,好把,继续查资料。发现了,要在工程设置中更改属性
接着再来运行一下看看效果
借用金星的一句话:“完美!”
总结:1.不要在头文件中使用using namespace。 2.注意命名规范。 3.注释尽量详尽,前后格式要统一。