zoukankan      html  css  js  c++  java
  • cocos2d-x 3.0 rc0 + flappybird 学习心得

    本人是大菜鸟一枚,刚入门cocos2d-x 不久,决定写个小游戏练练手感,发现OiteBoys的文章 cocos2dx制作flappybird,然后学习之,拿来练手


    作者的版本是3.0 beta版本,而在3.0 rc0版本中有略微差别:


    1)物理碰撞onContactBegin 参数变为一个

    //物理碰撞 监听
    	auto contactListener = EventListenerPhysicsContact::create();
    	contactListener->onContactBegin = CC_CALLBACK_1(GameLayer::onContactBegin,this);
    	this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(contactListener,this);

    监听函数

    bool GameLayer::onContactBegin(PhysicsContact& contact) {
    	this->gameOver();
    	return true;
    }




    2.body参数


    在给小鸟和水管添加body的时候,需要添加如下属性,否则不会触发onContactBegin函数

            body->setCategoryBitmask(1);    // 0001
    	body->setContactTestBitmask(-1); // 0100
    	body->setCollisionBitmask(-1);   // 0011


    然后就是作者的代码还有一个微小的bug,就是点击retartBtn之后,小鸟碰撞之后会立马消失,而不是落地之后消失,解决方法是把小鸟不设置成单例模式

    用普通的CREATE_FUNC()即可


    附下载地址:


     flappybird源码



  • 相关阅读:
    node.js简单的服务器
    简单的分页1
    定时跳转
    初始化多个vue实例对象
    js获取验证码的方法
    [z]Java代理(jdk静态代理、动态代理和cglib动态代理)
    .net操作word lib DocX
    git常用命令
    [z]查表空间使用情况
    [z]oracle job
  • 原文地址:https://www.cnblogs.com/fzll/p/3954607.html
Copyright © 2011-2022 走看看