cocos2d-x 3.2 之 别踩白块(第一篇)

来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:03 点击:

 

 

 

前言:

快过年了,事也不少,只能找一些简单的忙活下啦,

这游戏不知道还有没有人记得= =。

 

 

开发环境 —— VS2012 + cocos2d-x 3.2

 

正文:

闲话不多说,现在开始做我们的 别踩白块。

与之前的相比,这次的游戏会简单许多,

首先新建一个项目,然后修改它的 AppDelegate.cpp ,将显示尺寸设置一下。

后面在生成APK前,还要在android那设置,永远竖屏的属性。

 

本篇大纲

> Block类的创建

> 开始行 与 结束行 的创建

> 黑白块的创建

 

 

1.正式的第一步

就是这个游戏中比较重要的类出场了,块——Block

这个游戏里面的 Block 有很多,黑色的、白色的、黄色的等等,

统统封装在一个类里,就是——Block

 

建立这个类,并给它设定一个初始化函数,函数的传参要有

—— 颜色

—— 大小

—— 块内内容

—— 内容字体大小

—— 内容字体颜色

在cpp 里实现它

 

// Block.cpp

bool Block::init( Color3B color , Size size , std::string label , float fontSize , Color4B textColor )
{
	// 先执行Sprite的初始化
	if( !Sprite::init() )	{
		return false;
	}

	//设置Block的内容大小
	setContentSize(size);
	//左下角对齐
	setAnchorPoint(Point::ZERO);
	//文字显示位置
	setTextureRect(Rect(0,0,size.width,size.height));
	//颜色
	setColor(color);
	//添加一个文本
	auto l = Label::create();
	l->setString(label);
	l->setSystemFontSize(fontSize);
	l->setTextColor(textColor);
	//添加到当前场景中
	addChild(l);
	l->setPosition(size.width/2,size.height/2);

	return true;
}


 

然后在Block类中,还要有一个 静态的创建函数 createBlock 、 一个 移除函数 removeBlcok 和 一个Vector用来放 block

下面是实现:

 

// Block.cpp

// 初始化Vector
Vector * Block::blocks = new Vector();
Block* Block::createBlock( Color3B color , Size size , std::string label , float fontSize , Color4B textColor )
{
	auto block = new Block();
	block -> init(color,size,label,fontSize,textColor);
	block -> autorelease();

	blocks -> pushBack(block);

	return block;
}

void Block::removeBlock() 
{
	removeFromParent();
	blocks->eraseObject(this);
}


 

 

 

2.开始行 与 结束行 的添加

开始行,就是游戏开始前 最下面那条黄色的东东

这里就不建立场景了,直接在HelloWorldScene中修改原有函数就行,

先把没用的该删除删除,

开始行的添加,我们通过一个函数实现—— addStartLine

 

// HelloWorldScene.cpp

void HelloWorld::addStartLine()
{
	//添加一个方块
	auto block = Block::createBlock(Color3B::YELLOW,Size(visibleSize.width,visibleSize.height/4),,20,Color4B::BLACK);
	addChild(block);
}


 

在场景的 init函数中,调用这个 函数,然后运行一下,就可以看到开始行已经搞定啦~

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • Cocos2d-x学习(一):HelloWorld
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d 设置屏幕默认方向
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
  • cocos2d-x学习笔记(15)--地图的使用(TMX)
  • cocos2dx在xcode下开发,编译到android上(2)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1