Cocos2d-x3.0游戏实例之《别救我》第二篇——创建物理世界
来源:未知 责任编辑:责任编辑 发表时间:2014-05-20 18:26 点击:次
3.0新亮点,史上最简单的物理引擎
在Cocos2d-x3.0里使用物理引擎,会很有快感,因为很多繁琐的东西它都帮我们封装好了。
那么,我要开始创建游戏的关卡场景了,大家跟紧了。
我们给关卡场景命名为TollgateScene,头文件如下:
- #ifndef TollgateScene_H
- #define TollgateScene_H
- #include cocos2d.h
- USING_NS_CC;
- class TollgateScene : public Layer
- {
- public:
- ~TollgateScene();
- static Scene* scene();
- CREATE_FUNC(TollgateScene);
- virtual bool init();
- virtual void onExit() override;
- };
- #endif
头文件没有什么特别的,和普通的场景头文件一样。
然后,来看看cpp文件:
- #include TollgateScene.h
- #include BackgroundLayer.h
- TollgateScene::~TollgateScene()
- {
- }
- Scene* TollgateScene::scene()
- {
- auto scene = Scene::createWithPhysics();
- /* 微重力世界 */
- Vect gravity(0, -0.5f);
- scene->getPhysicsWorld()->setGravity(gravity);
- /* 开启测试模式 */
- scene->getPhysicsWorld()->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_ALL);
- //创建一个边界
- Size visibleSize = Director::getInstance()->getVisibleSize();
- /*
- 创建一个空心盒子刚体,作为我们游戏世界的边界(避免游戏内的物体跑出屏幕)
- 参数分别是刚体大小、材质(其实就是一些预设的配置数据)、边线厚度
- */
- auto body = PhysicsBody::createEdgeBox(Size(visibleSize.width, visibleSize.height), PHYSICSBODY_MATERIAL_DEFAULT, 3);
- /* 创建一个节点,用于承载刚体,这样刚体就能参与到游戏的物理世界 */
- auto node = Node::create();
- node->setPosition(Point(visibleSize.width / 2, visibleSize.height / 2));
- node->setPhysicsBody(body);
- scene->addChild(node);
- auto layer = TollgateScene::create();
- scene->addChild(layer, 10);
- return scene;
- }
- bool TollgateScene::init()
- {
- if (!Layer::init())
- {
- return false;
- }
- return true;
- }
- void TollgateScene::onExit()
- {
- Layer::onExit();
- }
太复杂了,我要分几个部分来讲解(小若:但是你一开始说很简单的啊!)
集成物理世界的场景
在3.0里要创建一个物理世界,很简单,之前我们创建场景,调用的是Scene::create()。如果要创建物理场景,那就:
auto scene = Scene::createWithPhysics();
于是这个场景就具备了物理世界的功能,不要再做什么其他处理了。
相关新闻>>
- Cocos2d-x 3.2 大富翁游戏项目开发-第二十四部分 彩票开奖
- cocos2d-x-3.3-018-游戏摇杆joystick源码分享
- Cocos2d-x虚拟摇杆控制精灵上下左右运动----之游戏开发《赵云要
- Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_2
- Cocos2d-x 自定义按钮类控制精灵攻击----之游戏开发《赵云要格斗
- Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_3
- Cocos2d-x 3.2 大富翁游戏项目开发-第八部分 角色按路径行走
- Cocos2d-x 3.2 大富翁游戏项目开发-第十部分实现人物轮流行走
- 用cocos2d-html5做的消除类游戏《英雄爱消除》(1)——系统主菜单
- Cocos2d-x3.0游戏实例之《别救我》第八篇——TiledMap实现关卡编
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>