cocos2d-x v3.2 FlappyBird 各个类对象具体代码分析(1)
来源:互联网 发布:兄弟连java基础视频 编辑:程序博客网 时间:2024/05/20 03:40
好久没写博客了,今天早上起来不知怎么的就打开了csdn,工作简历也投了好几家,都石沉大海,在学校也闲着没事,就打算把以前写的Flappy Bird里面的一些代码分析发出来。
Flappy Bird 网上也有很多的教程,我其中的有些代码也是参考网上的,不能算是完全原创吧,但是也有很大一部分代码都是按照我自己的想法,设计写出来的,接触cocos2d-x已经差不多有一年了,从以前的2x到现在的3x,改变了很多东西,作为一个新手我还有很多东西要去学习。
开始前有几点注意事项要说明:
1)我的Flappy Bird 资源使用方法和网上的有所不一样,具体参照我的以前的一篇博客。
2)部分代码参考http://blog.csdn.net/column/details/flappybird.html 尊重原作者
3)我也菜鸟,可能部分代码写的不怎么样,不严谨,请大家见谅(大家互勉嘛)
4)很多代码的分析都是在注释里,也有可能写在外面。
第一篇文章先介绍这个游戏中一些不怎么重要的类和头文件:
这个头文件主要是定义了一些经常使用的常量,方便测试和修改。
//define.h#pragma once#define BIRDANIMATION_0"birdAnimation_0"//黄色小鸟动画#define BIRDANIMATION_1"birdAnimation_1"//蓝色小鸟动画#define BIRDANIMATION_2"birdAnimation_2"//红色小鸟动画#define BIRD_FLY_FRE0.1f//小鸟翅膀频率#define LOADING_NUM2//loading 动画次数#define LOADING_FRE0.5f//loading 动画频率#define BIRD_RADIUS15//鸟的半径#define GRAVITYPoint(0,-980)//重力加速度#define VELOCITYPoint(0,260)//小鸟点击向上飞速度#define THROUGH_HEIGHT120//小鸟通过两个管子间的高度#define PIPE_UP1001//向上管子的tag#define PIPE_DOWN1002//向下管子的tag#define PIPE_RANGE200//管子移动Y值的范围#define PIPE_X300//管子的开始移动的X值#define PIPE_Y-170//管子开始移动的最小Y值#define PIPE_TIME3.0f//管子运动的时间#define PIPE_VELOCITYPoint(-360,0)//管子运动的距离及方向#define LAND_VELOCITY1/60//草地的移动速度#define PIPE_FRE1.5f//管子出现的频率#define BIRD_DIE_ROTATION90//小鸟死亡后的角度#define SCORECARD_SHOW_TIME0.6f//计分板出现动画时间#define ADDSCORE_FRE0.05f//加分频率#define CHANGESCENE_TIME0.5f//场景切换时间#define MEDALS_05//奖杯1分数#define MEDALS_110//奖杯2分数#define MEDALS_215//奖杯3分数#define MEDALS_320//奖杯4分数
下面这个类就不分析了,懂cocos2d-x的都懂
//AppDelegate.h#include "AppDelegate.h"#include "HelloWorldScene.h"#include "WelcomeScene.h"USING_NS_CC;AppDelegate::AppDelegate() {}AppDelegate::~AppDelegate() {}bool AppDelegate::applicationDidFinishLaunching() { // initialize director auto director = Director::getInstance(); auto glview = director->getOpenGLView(); if(!glview) {//cocos2d-x 3.2 这个类也变了很多,下面这个语句是定义了窗口的名字,大小,和缩放比例 glview = GLView::createWithRect("FlappyBird",Rect(0,0,286,512),1.0f); director->setOpenGLView(glview); }//这个算是简单的分辨率适配.....其他的代码都是3.2自带的,这里就不解释了glview->setDesignResolutionSize(268,512,ResolutionPolicy::EXACT_FIT); // turn on display FPS director->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this director->setAnimationInterval(1.0 / 60); // create a scene. it's an autorelease object //auto scene = HelloWorld::createScene();auto scene=WelcomeScene::createScene(); // run director->runWithScene(scene); return true;}// This function will be called when the app is inactive. When comes a phone call,it's be invoked toovoid AppDelegate::applicationDidEnterBackground() { Director::getInstance()->stopAnimation(); // if you use SimpleAudioEngine, it must be pause // SimpleAudioEngine::getInstance()->pauseBackgroundMusic();}// this function will be called when the app is active againvoid AppDelegate::applicationWillEnterForeground() { Director::getInstance()->startAnimation(); // if you use SimpleAudioEngine, it must resume here // SimpleAudioEngine::getInstance()->resumeBackgroundMusic();}
好了,今天就简单的这两个文件了,下篇文章更新是什么时候我也不确定........
2 0
- cocos2d-x v3.2 FlappyBird 各个类对象具体代码分析(1)
- cocos2d-x v3.2 FlappyBird 各个类对象具体代码分析(2)
- cocos2d-x v3.2 FlappyBird 各个类对象具体代码分析(3)
- cocos2d-x v3.2 FlappyBird 各个类对象具体代码分析(4)
- cocos2d-x v3.2 FlappyBird 各个类对象具体代码分析(5)
- cocos2d-x v3.2 FlappyBird 各个类对象具体代码分析(6)
- cocos2d-x v3.2 FlappyBird 各个类对象具体代码分析(7)
- cocos2d-x V3.x内存管理分析
- cocos2d-x V3.x内存管理分析
- Cocos2d-x V3.x内存管理分析
- Cocos2d-x V3.1参考资料
- cocos2d-x v3.0代码差异
- Cocos2d-x V3.4 项目模板分析
- cocos2d-x 3.0 rc0 + flappybird 学习心得
- Cocos2d-x 2.3.3版 FlappyBird
- 用cocos2d-x 3.2 实现的FlappyBird
- Cocos2d-x v3.2 例程中的 SpriteBlur
- Cocos2d-x v3.1 + vs2013 + win7
- 不知不觉捷达报废 折腾完了
- C++ builder 之错误总结:重新打开BCB提示无法打开"EditorLineEnds.ttr"文件-都是补丁惹的祸
- Json-lib 添加
- 设计模式学习总结
- 如何编写高效的jQuery代码
- cocos2d-x v3.2 FlappyBird 各个类对象具体代码分析(1)
- hdu dp 1231
- vs2012连接mysql
- mybatis 调用oracle存储过程,传参、返回游标的值获取--示例
- HTML表单(Forms)解析
- 键盘常用的ASCII码 & 转义字符
- Delphi XE5 与其他版本共存
- HDU - 2087 剪花布条 (KMP)
- C语言宏定义##连接符和#符的使用