box2D斜面摩擦力和sprite朝向的兼顾取舍
问题起源:
一般游戏的主角player的b2Body的fixedRotation属性都设置为true,即不能旋转,这样可以保证player在受到物理冲力的时候不会扭来扭去,比如超级玛丽他的人物模型始终是直立的。当player遇到斜面物体时,它和斜面之间只有一个接触点,这样就没有摩擦力,这会造成player运动状态的失真。
- 如果将player的fixedRotation设置为false,即可以旋转,这时摩擦力正常,但player的sprite图片也会跟着旋转,有时却希望sprite仍保持直立。
解决方法:
一、 始终fixedRotation=true,
当player在斜面上时,将player的body构造成底部为斜边的polygon,并且倾斜角度和斜面角度相同。在平面上时,body底部改为平面。
缺点:1.不能适应各种角度的斜面。
2. 由于Box2D中b2Fixture不能变形,b2Body对象想要改变形状,其中包含的b2Fixture对象要反复创建,销毁,工作繁复,效率不高。
二、当player在平面上时,fixedRotation=true;
当player在斜面上时,fixedRotation=false;然后player的sprite图片根据斜面的角度转动相应的角度。
- 具体做法大概是:建一个斜面类继承自CCSprite,类成员包括斜面的b2Body,斜面的角度degree,类方法包括斜面的创建方法createInclinePlane(),在这个方法中得到斜面的degree。
- 在需要用到degree的时候,用degree的getor()可以获取。
box2D斜面摩擦力和sprite朝向的兼顾取舍相关推荐
- 斜面上的根骨骼运动以及刚体测试
斜面上的互推测试 测试方法为给胶囊加一个恒定的力,然后推动另一个胶囊 方向一致的情况: 推动的话,设置对力的方向就不会有问题.就好像AddForce,给一个Y轴的力肯定会飞 斜面移动测试 沿着地面法线 ...
- 房产经纪人必备——房地产基础知识大全(建议收藏)
一.房地产基础专业知识 1.房地产:指房产和地产的总称(又称不动产). 2.房地产的三种存在形态: 单纯的土地.单纯的房屋.土地房屋的综合体 3.房地产的特征: a.房地产位置的固定性(土地不可移,房 ...
- Box2D——入门教程
现在网上关于as3的物理引擎真是不少,比较之后发现,在开源引擎当中Box2D算是比较不错的了,只可惜他的结构比较复杂,而且国内网站关于Box2D方面的教程真是少的可怜.因为我知道这个最早是c++上面的 ...
- 【COCOS2DX-BOX2D游戏开发之一】Box2d概念
1.cocos2d 自带了两套物理引擎:Box2D 和Chipmunk. 两套引擎都是为2D游戏设计的,可以和cocos2d 完美整合. Box2D 是用 C++写的,而 Chipmunk 用的是 ...
- Box2D物理引擎入门
一.什么是Box2D Box2D是一个强大的开源物理游戏引擎,用来模拟2D刚体物体运动和碰撞,由Erin Catto早在2007年用C++语言开发. Box2D集成了大量的物理力学和运动学的计算,并将 ...
- Box2D 实现不倒翁效果 绘制扇形
效果图 /* * name; */ class SetMassData extends ui.ApplyForeeTestUI{constructor(){super();this.createRec ...
- Box2D和Chipmunk
物理的表现力对游戏的影响越来越重要,几乎已经是现在游戏中不可获取的要素之一,如果进入游戏开发的物理世界中,你会发现这是一个深不可测的领域,没个十几年的功力怕是难说出个头道来的,不过再难总要去面对和挑战 ...
- cocos2dx box2d 概念
1.cocos2d 自带了两套物理引擎:Box2D 和Chipmunk. 两套引擎都是为2D游戏设计的,可以和cocos2d 完美整合. Box2D 是用 C++写的,而 Chipmunk 用的是 ...
- cocos中的Box2d物理引擎
原文地址:http://wwk.iteye.com/blog/1722124 一些Box2d的基本概念,一些cocos中使用box2d需要注意的地方 1. cocos2d 自带了两套物理引擎:Box2 ...
最新文章
- 飞机的“黑色十分钟”能被人工智能消灭吗?
- python-mysql的安装和基本操作
- bs架构 erp 进销存_从应用架构看生鲜电商信息化建设
- 腾讯云mysql架构_一个数据库存储架构的独白
- php 并发 100 压测,简单PHP把握站点并发数
- Struts2中UI标签之表单标签介绍
- 确保帐户安全 谈MySQL数据库安全解决方案
- Android项目实战(三十六):给背景加上阴影效果
- 时间复杂度、空间复杂度,如何”不复杂“地学?
- VMware安装系统时“无法创建新虚拟机: 不具备执行此操作的权限“的解决方案
- 使用小乌龟快速上手git
- MFI认证——苹果MFI账号申请
- 1.ASP.NET MVC使用EPPlus,导出数据到Excel中
- python3必应壁纸爬虫练手
- 网络推广能给企业公司带来什么好处?
- [附源码]Python计算机毕业设计SSM京津冀畅游网设计(程序+LW)
- 建立“知识共享”生态圈,培养塔尔斯基数学小后代,不是说假话、放空炮
- vue打包之后谷歌浏览器可以正常打开,而其它一些浏览器360等无法正常打开
- SQL注入-05-防御修复建议
- 【硬件】标准阻值的由来
热门文章
- [COGS2639]偏序++
- 深入浅出学Spring Data JPA
- Adobe正式在中国市场推出Creative Cloud创意应用软件
- it'll be much more productive to read pdf files via a touch screen
- 特殊人物请遵循公司工作的基本准则
- linux 文件查找帮助命令 , 查看网络链接信息, 历史命令
- 想要构建现代化数据中心?交给戴尔第14代PowerEdge服务器解决吧!
- linux下安装Python3.6.1
- (原)caffe在ubuntu中设置GPU的ID号及使用多个GPU
- I00012 打印三位数的水仙花数及其个数