cocos3.7物理引擎基本使用
来源:互联网 发布:子曰由诲女知之乎翻译 编辑:程序博客网 时间:2024/05/28 04:53
我们将完成一个简单的实例来介绍cocos物理的引擎的基本使用:
我们要实现的是一个小球不停的在屏幕中进行弹跳,没有重力,完全弹力。
- 首先创建一个场景,该场景不能使普通的场景,必须要先创建物理场景才能在该场景中加入物理的元素,比如刚体(就是我们的小球),重力,摩擦力,弹力。
Scene*GameScene::createScene(){ //创建一个物理场景。 mScene = Scene::createWithPhysics(); mScene->getPhysicsWorld()->setGravity(Vec2(0, 0)); //debug模式,能更好的显示我们的刚体,大家删除这条代码也行。 mScene->getPhysicsWorld()->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_ALL); //创建该类,是一个layer。 auto gameSceneLayer = GameScene::create(); mScene->addChild(gameSceneLayer); return mScene;}
接下来创建球和物理边界。
bool GameScene::init(){ //创建一个node,来载入我们即将创建的物理边界。 auto border = Node::create(); //把物理边界载入node当中。创建一个edgeBox相对于我们实例当中4周的墙壁,PhysicsMaterial(0.1, 1, 0))这个是这个物理边界的材料,第一个是质量设置为0.1,弹力为1,也就是完全弹力。摩擦力为0.还是很好理解。 border->setPhysicsBody(PhysicsBody::createEdgeBox(Size( VISIBLESIZE.width, VISIBLESIZE.height), PhysicsMaterial(0.1, 1, 0))); //将border设置为屏幕中心,刚好边界就是整个屏幕。 border->setPosition(VISIBLESIZE.width / 2, VISIBLESIZE.height / 2); addChild(border); //下面我们加入一个球体,在游戏设计中都称作刚体。 //创建一个精灵 ,是一个圆球。 auto sprite = Sprite::create("Pea.png"); //创建一个球型刚体。第一个参数是半径,第二个是无力材料。 auto body = PhysicsBody::createCircle(sprite->getContentSize().width/2, PhysicsMaterial(0.1, 1, 0)); //将精灵绑定这个球体,这个精灵相当于拥有了球的物理属性。 sprite->setPhysicsBody(body); sprite->setPosition(position); Vec2 velocity(360,720); //设置精灵的初始速度。 sprite->getPhysicsBody()->setVelocity(velocity); addChild(sprite); return true;}
这样就OK了 ,就实现了上述事例。用起来还是非常方便的。注意不要把刚体的半径设置太小,否则会出来刚体穿透问题。刚体穿透大家可以百度,cocos3.7 在physicsTest 中也给出了解决方案。
0 0
- cocos3.7物理引擎基本使用
- cocos3.0 box2d物理引擎的使用
- 物理引擎的使用
- 物理引擎使用-感悟
- cocos3.1.1引擎错误
- cocos2dx使用BOX2D物理引擎
- cocos2d_x_02_使用内置物理引擎
- cocos3.3 使用spine
- 在JavaFX中使用物理引擎JBox2D
- Cocos2d-x物理引擎世界的使用
- 使用物理引擎进行碰撞检测
- 使用物理引擎进行碰撞检测
- Cocos2dx3.2 CrazyTetris 物理引擎使用初步
- 【Cocos2d-x】物理引擎使用入门
- 物理引擎——关节的使用
- 使用NGUI时遇到物理引擎错误
- 使用物理引擎进行碰撞检测
- bullet物理引擎btBvhTriangleMeshShape,btHeightfieldTerrainShape的使用
- Java项目中读取properties文件,以及六种获取路径的方法
- Sqlite3查询指定行数数据
- oracle这个语句是什么意思?SET DEFINE OFF;
- Android Studio使用百度语音合成是TTS时报错: ****.so文件找不到的有关问题
- 解决Eclipse建立Maven项目后无src/main/java资源文件夹的办法
- cocos3.7物理引擎基本使用
- 数值分析内容概览及学习总结
- set feedback
- xcode7 没有Empty Application
- 递归算法的魅力所在——图的遍历
- eclipse下导入jdk源码
- 关于jquery中on方法的一些介绍
- MTTR是什么?或者说为什么别给婴儿喝白兰地
- 3.4wait的条件发生变化导致逻辑错误