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函数中,调用这个 函数,然后运行一下,就可以看到开始行已经搞定啦~
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 进入详细评论页>>