菜鸟成长记(1)——cocos2dx-2048小游戏实战之界面布局
来源:互联网 发布:知金教育靠谱吗 编辑:程序博客网 时间:2024/06/05 23:42
程序目标:实现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.注释尽量详尽,前后格式要统一。
- 菜鸟成长记(1)——cocos2dx-2048小游戏实战之界面布局
- 菜鸟成长记(1)
- 成长之路——《菜鸟起航》
- Android菜鸟的成长笔记(3)——给QQ登录界面说So Easy
- Android菜鸟的成长笔记(3)——给QQ登录界面说So Easy
- 菜鸟程序员的成长之路(一)——菜鸟程序员起步
- android <初级篇> 界面布局<一> ——菜鸟的学习之路
- ARM菜鸟成长记——之一
- JAVA菜鸟成长记——JNDI
- 菜鸟的成长之——C语言知识梳理
- 菜鸟成长记1.1.1
- 菜鸟成长记(2)
- 菜鸟成长记(三)
- 【cocos2dx-3.2】菜鸟之路——环境配置若干问题
- 【cocos2dx-3.2】菜鸟之路——屏幕大小问题
- C++菜鸟的成长之路(1)——浅谈原码、反码、补码
- 菜鸟程序员的成长之路(二)——时间都去哪儿了
- 菜鸟程序员的成长之路(四)——欢送2014,欢迎2015
- 初学android 运行模拟器
- Ready State #Facebook Relay文档翻译#
- android webview对shouldOverrideUrlLoading的理解,对于重定向的url
- 认真看待360
- sqlite 日期类型
- 菜鸟成长记(1)——cocos2dx-2048小游戏实战之界面布局
- 元数据(Metadata)
- linux权限和用户管理
- 黑马程序员---java基础----String类
- Unity3d中UI开发的MVC模式
- Android实战简易教程<五十>(工具类的测试)
- 黑马程序员-java基础-java零散知识
- Java jni使用
- crosswalk 调式