【史上最坑爹的游戏】001 游戏介绍及开始页面的实现
来源:互联网 发布:江苏银河网络 编辑:程序博客网 时间:2024/06/07 01:42
最近史上最坑爹的游戏挺风靡的,而且又更新了2,本系列文章将来一步步把这个游戏做出来。
1. 游戏介绍
相信很多人都玩过这款游戏,如果你没玩过的话,建议你下载一个试试,那么学习此系列文章,你将更有feeling。
废话不多说,上图你就明白了:
2. 开始界面的实现
游戏的开始界面如下:
开始界面有HelloWorldScene.h和HelloWorldScene.cpp实现。
HelloWorldScene.h中的代码如下:
#ifndef __HELLOWORLD_SCENE_H__#define __HELLOWORLD_SCENE_H__#include "cocos2d.h"class HelloWorld : public cocos2d::Layer{public: // there's no 'id' in cpp, so we recommend returning the class instance pointer static cocos2d::Scene* createScene(); // Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone virtual bool init(); // a selector callback void menuCloseCallback(Object* pSender); // implement the "static create()" method manually CREATE_FUNC(HelloWorld);};#endif // __HELLOWORLD_SCENE_H__
HelloWorldScene.cpp的代码如下:
#include "HelloWorldScene.h"#include "ScrollViewScene.h"USING_NS_CC;Scene* HelloWorld::createScene(){ // 'scene' is an autorelease object auto scene = Scene::create(); // 'layer' is an autorelease object auto layer = HelloWorld::create(); // add layer as a child to scene scene->addChild(layer); // return the scene return scene;}// on "init" you need to initialize your instancebool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } //Size visibleSize = Director::getInstance()->getVisibleSize(); //Point origin = Director::getInstance()->getVisibleOrigin(); ///////////////////////////// // 2. add a menu item with "X" image, which is clicked to quit the program // you may modify it. //加入背景 Size size = CCDirector::getInstance()->getWinSize(); SpriteFrameCache *cache = SpriteFrameCache::getInstance(); cache->addSpriteFramesWithFile("UIResoure.plist"); Sprite* sprite =Sprite::createWithSpriteFrameName("start-bg.png"); sprite->setPosition(Point(size.width*0.5+100,size.height*0.5)); addChild(sprite); // 3.0的新实现方式 // add a "close" icon to exit the progress. it's an autorelease object// auto closeItem = MenuItemImage::create(// "UIResoure_play.png",// "UIResoure_plays.png",// CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));// closeItem->setPosition(Point(size.width*0.5,size.height*0.5-100));//// // create menu, it's an autorelease object// auto menu = Menu::create(closeItem, NULL);// menu->setPosition(Point::ZERO);// this->addChild(menu, 1); //2.2的实现方式 MenuItemImage *closeItem = MenuItemImage::create(); closeItem->setNormalSpriteFrame(cache->spriteFrameByName("play-1.png")); closeItem->setSelectedSpriteFrame(cache->spriteFrameByName("play-2.png")); closeItem->initWithTarget(this, menu_selector(HelloWorld::menuCloseCallback)); closeItem->setPosition(Point(size.width*0.5,size.height*0.5-100)); auto menu = Menu::create(closeItem, NULL); menu->setPosition(Point::ZERO); this->addChild(menu, 1); return true;}void HelloWorld::menuCloseCallback(Object* pSender){ //Director::getInstance()->end(); //实现 CCDirector::getInstance()->replaceScene(CCTransitionFade::create(0.5, ScrollViewScene::create())); //释放没有用到过的缓冲 //CCTextureCache::sharedTextureCache()->removeUnusedTextures();}
这样的话,我们就把游戏的开始界面做好了。
0 0
- 【史上最坑爹的游戏】001 游戏介绍及开始页面的实现
- java实现游戏的循环及游戏帧数处理
- 迭代器的介绍及游戏商城的介绍
- 用Ogre MyGUI实现一套完整的游戏界面及实现方法介绍
- 用Ogre MyGUI实现一套完整的游戏界面及实现方法介绍
- 游戏外挂的原理及实现
- 游戏外挂的原理及实现
- 实时游戏的设计及实现
- 从拼图游戏开始(六)_游戏主体的Android实现
- Cocos2d-X开发中国象棋《六》游戏开始功能的实现
- Android-使用XML布局文件实现游戏的开始界面
- Cocos2d-X 3.4版-游戏继续,游戏重新开始,回到主界面的实现《赵云要格斗》
- 开始游戏和加载游戏按钮的按下效果实现
- Cocos2d-x游戏暂停、继续游戏、重新开始界面的实现---之游戏开发《赵云要格斗》(10)
- 对字符游戏贪吃蛇的设计及算法介绍
- Beetle游戏的实现
- 游戏对象的实现
- 关灯游戏的实现
- hadoop中map和reduce的数量设置问题
- Java类的初始化顺序 (静态变量、静态初始化块、变量、初始...
- xcode设置文字背景图片
- Java中“异常机制”深入研究
- Python错误
- 【史上最坑爹的游戏】001 游戏介绍及开始页面的实现
- 判断手机号码格式的方法
- Tomcat中JVM内存溢出及合理配置
- ABAP数据库操作(学习SAP程序设计的整理-数据库)
- Win8下Eclipse中文字体太小
- 海尔推出空气盒子的背后阳谋
- 网游封包结构
- 20140409-Supervised learning- Generalized liner Models
- Java 插入排序算法