• 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源码



  • 相关阅读:
    day11_获取前一条用例的结果(用参数化实现)
    day11_获取前一条用例的结果
    codeforce 1433F
    codeforces 1428 D. Bouncing Boomerangs (贪心)
    codeforces 761C
    codeforces 839C
    codeforces 859C
    codeforces 858C Did you mean... (贪心)
    codeforces 855B
    st表
  • 原文地址:https://www.cnblogs.com/fzll/p/3954607.html
Copyright © 2020-2023  润新知