Cocos别踩白块儿案列1
Cocos 版本3.10
1.游戏介绍:
《别踩白块儿》是由 Umoni Studio (Umoni Entertainment Limited 的前身)”制作的一款休闲益智游戏。游戏于2014年4月16日上线App Store。并在全球40多个国家、地区免费游戏榜登顶榜首,超过一百个国家或地区排名前十,5月份荣登全球游戏下载总榜(iOS + Android)第一宝座,游戏上线3个月累计下载达1亿。
背景设定
别踩白块儿,这就是这个游戏的一个规则,很简单吧?谁都可以会玩,但并不是谁都能玩得很好噢。 你呢?你玩得怎么样?
《别踩白块儿 Don't Tap The White Tile》,这就是这个游戏的一个规则,我们只需要不断踩着黑色方块前进即可,很简单吧?谁都可以会玩,但并不是谁都能玩得很好噢,你呢?快来挑战看看吧!经典模式,以最快的速度到达终点。
街机模式,你有能力得多少分就得多少分,没有任何限制,这也是最具挑战性的一个模式。
限时模式,在30秒内看你能走几步。
极速模式,没有最高速限制的街机模式, 挑战你的极限接力模式,规定时间内完成50块儿,然后会有更多时间去完成另外的50块儿。
◈ 超过35种好玩的模式(持续添加中…)。
◈ 简单易玩,老少咸宜。
◈ 几十种颜色主题,支持同时多颜色主题。
◈ 美妙的钢琴音效,支持自定义播放列表。
◈ 顺畅的游戏体验。
◈ 支持社交网络分享,随时炫耀成绩。
自从越南的的独立游戏开发者——Dong Nguyen花了几个晚上为游戏界打了一针鸡血后,《疯狂的小鸟》(Flappy Bird)带来的极简游戏风暴就一直没停歇过,事实上这股风暴根本停不下来。各种版本的《2048》热潮还没过去,微博上又火了一款《别踩白块儿》。这名字怎么听着都让人摸不着头脑,但看到各种晒成绩单的朋友,笔者也忍不住下载了游戏试试,一起来看看这款iOS和安卓通吃的超简约游戏有什么过人之处。
虽然玩法听起来不复杂,但这类反应力游戏都是易学难精(你已经忘了《Flappy Bird》是怎么虐你的了吗?),尤其是画面不断下落的街机模式,非常难!第一次能过100分可以说明你的反应力超出常人的强大了。《别踩白块儿》的游戏时间每局在10秒到1分钟之间,可谓是又一个见缝插针的好帮手,尤其是在等车,排队时,必备一个不错的!另外最新版本的《别踩白块儿》可以将成绩分享到微博,看看你和朋友到底谁更强大。
2.创建Block类:
1.新建一个Black类:
打开头文件Block。H
然后使用cocos2d的命名空间:
让后我们来写一个类,类的名字叫Block让他继承自Sprite,
#ifndef __WitheBlock_Block__
#define __WitheBlock_Block__
#include<cocos2d.h>
#include<iostream>
USING_NS_CC;
class Block :public Sprite {
public:
static Block*createWithArgs(Color3B color, Size, std::string label, float fontSize, Color4BtextColor);
virtual bool initWithArgs(Color3B color, Size, std::string label, float fontSize, Color4BtextColor);
};
#endif
之后我们写一个初始化的方法:指定是虚函数,初始化应该传递进来几个参数,首先我们要考虑一个颜色值,还有大小,然后是一个字符,指定字符还要指定字符的颜色。
然后我们还要写一个静态的创建的方法,把参数复制上去,
public:
static Block* createWithArgs(Color3B color,Size size,std::string label,float fontSize,Color4B textColor);
virtual bool initWithArgs(Color3B color,Size size,std::string label,float fontSize,Color4B textColor);
之后我们就要实现这些方法,在cpp中:
首先执行父类的初始化方法:
Sprite::init();
最后加上return true; 肯定创建成功。
Block* Block::createWithArgs(Color3B color,Size size,std::string label,float fontSize,Color4B textColor)
{
auto b = new Block();
b->initWithArgs(color,size,label,fontSize,textColor);
b->autorelease();
return b;
}
5—那么我们每创建一个block都需要把他们记录下来,我们记录下来我们使用
一个数组:这里我们由看到了Vector 问:同学们还记得我们之前的介绍吗?他是一个队列。
然后在cpp文件中对他进行一个初始化:
我们从这里来对他们进行了初始化,然后我们每创建一个都会把他放在blocks里面,可以方便外界来访问他所有的块,pushback我们把b放进来。
我们再写一个方法就是说在外界我们再给他一个方法把他给移除掉,
virtual bool initWithArgs(Color3B color,Size size,std::string
void removeBlock();
然后在cpp中:
void Block::removeBlock(){
removeFromParent();//从它的父节点中删除这个节点本身。如果节点是孤立的,那么什么也不会发生。
blocks->eraseObject(this);// 抹去;擦除
}
43.内容大小,44.从左下角开始对齐45设置他的颜色和大小,之后我们需要添加一个文本,设置文本,字体大小,颜色,53,设置他的位置。
这样我们就配置好了一个方块。
3.下一节我们学习添加开始行
打开cpp文件,把不要的代码都删掉:
分析案列,开始行是一个黄色的行,那么我们来写一个方法,在.h中
然后我们来实现这个方法:
然后我们在初始化的地方先执行一下这个方法,,init
通过观察,那么开始行是要在水平方向填充满整个区域的,因此我们需要获取屏幕的大小。
然后在init方法厘米我们写这个
接下来我们来添加这个块,首先我们要引入头文件,
思考2:我们发现这个Size是报错,为什么?
报错的原因是因为访问不到,原因是因为我们没有引入命名空间。然后我们还要引入头文件,这个头文件就是我们自己定义的。
然后我们打开cpp文件,
添加一个块等于Black 需要传进来一个颜色,黄色,宽度是铺满,高度是4,不要显示字符串,字符颜色黑色。
添加进来。
void HelloWorld::addStartLine() {
auto b = Block::createWithArgs(Color3B::YELLOW, Size(visibleSize.width, visibleSize.height / 4), "", 20, Color4B::BLACK);
gameLayer->addChild(b);
//b->setLineIndex(0);
}
运行一下,可以看到开始行的效果:
4.:添加结束行:
1.打开helloworld.cpp 来写一个方法,
然后我们来添加这样一个方法,结束行是绿色的方框。
然后我们在前面,把前面的startline替换
运行看一下效果:
Cocos别踩白块儿案列1相关推荐
- 团队项目代码分析(Android游戏:别踩白块儿)
代码组成部分: 关键代码主要分为三大部分,如下图所示(用思维导图的形式展示): 代码调用关系 通过MainActivity调用其他类❤,具体见核心代码分析! 核心代码分析 public class P ...
- 基于Linux、QT、C++的“别踩白块儿”小游戏
基于Linux.QT.C++的"别踩白块儿"小游戏 源码链接 一.功能实现 完善的游戏界面.游戏倒计时.得分记录.历史最高分显示 二.功能描述 1.界面为4*4,一行中只有一个黑块 ...
- web学习(2)--别踩白块儿(js版)(web入门)
废话不多说,就是一个简单的网页版的别踩白块儿 (踩到白块会弹出窗口,手动点击确定才能继续游戏,达到耗费你的游戏时间的目的) HTML:(注意js文件的名字和所放位置,如果和我命名的不一样,注意在第六行 ...
- python+opencv别踩白块儿游戏辅助,一天一个opencv小项目(已开源)
python+opencv别踩白块儿游戏辅助,一天一个opencv小项目(已开源) 见链接
- 别踩白块儿 开源免费(C++)
别踩白块儿(C++) 演示视频 调用EasyX图形库,电脑没有安装图形库的话,无法运行 EasyX下载 源码下载 //主要代码,源码请下载源码文件//游戏开始 void Begin() {MOUSEM ...
- QT 小游戏 : 别踩白块儿~
一.实现思路 QPainter 绘制 游戏界面 PS:根据方块坐标链表绘制所有方块 支持两种操作方式 PS:鼠标事件 和 键盘事件(Q,W,E,R,T) 定时器(10ms) 刷新 方块坐标数据 根据得 ...
- 初学JS——利用JS制作的别踩白块儿(街机模式) 小游戏
初学JS--利用JS制作的别踩白块儿(街机模式) 小游戏 这个是上个星期5写的了,当时是突然想写个游戏,就想到了别踩白块儿,当时的想法是 可能普通模式的别踩白块儿因为他的"块儿"是 ...
- python 4399别踩白块儿脚本
持续无聊中,看到别踩白块儿觉得这个脚本貌似比较好写. 需要用到的python 库如下 import pyautogui from PIL import ImageGrab, Image import ...
- 傅小森的游戏制作之路-别踩白块儿
项目前言 别踩白块儿 这- 还用开发吗? 别人已经制作了呀 触屏版本多的是 是挺多的 但是 你见过按键版本的嘛? 没见过吧 这就是需要开发出来 , 进入项目需求环节 项目需求 别踩白块儿 顾名思义:不 ...
最新文章
- pandas使用pad函数向dataframe特定数据列的每个字符串添加前置(前缀)补齐字符或者字符串、向所有字符串的左侧填充、直到宽度达到指定要求(left padding)
- 安装黑屏_含能公司黑屏管理助力智能化改造
- python中字典的增删改查及其他常用操作
- SAP Spartacus b2b表格的cell配置解析逻辑
- mac上python3安装HTMLTestRunner
- MySQL 8.0开始Group by不再排序
- 洛谷——P1164 小A点菜
- Flink java模拟生成自定义流式数据
- 原DTCoreText学习(三)-自定义DTAttributedTextCell
- python刷课系统教师_让教师只想刷课的继续教育不能继续了
- vue-scroller回到顶部
- 如何将MySQL卸载干净?
- 电视html转vga没有声音,电脑用VGA线连接电视,怎么声音不能传进电视?
- 内网信息收集小知识(一)
- Say Hello to Integers (Java)
- 动人的牵线美的连接符-两张表的查询(一)
- 微信支付分(四)--取消支付分订单
- 计算机原理与智能-翻译
- 跟我一起玩Win32开发(1):关于C++的几个要点
- squid常规代理实现内网的共享上网