javascript关于box2djs和matterjs之间的选择
javascript关于box2djs和matterjs之间的选择
box2djs资料少很多时候需要看c++版本资料 然后转化成js 还有转化成像素坐标不准确
matterjs文档丰富 上手容易 建议用matterjs
如果发生穿透可以考虑如下因素
1.力度设置的太大
2.刚体自动休眠开启了
3.其他主要是密度 弹性这些参数设置合适
4 刚体加厚 刚体叠加
5 清除没有用的刚体提高性能
更多参考因素
刚体叠加、动量重置、强制跟随、动量缓冲、动态拦截。
刚体叠加就是在同个位置设置多个刚体,这方法对静态刚体有用,可以提高拦截成功率;动量重置是在容易穿透的地方设一个坐标检测区,在移动刚体进入这个区域后立刻让其休眠,旋即唤醒。看似多此一举,实则在休眠时已经重置了其动量,加速惯性就消失了,然后再运动,惯性就小了很多;强制跟随是渲染物体和刚体间的对应关系不稳定,因为laya和matter的坐标不同,导致了这个渲染体和刚体的位置有偏差,可以通过观察其对应位置来设置偏移量,但一旦刚体旋转就会变乱。这时要用三角函数来修正。这需要观察和耐心的修正位置来解决;动量缓冲是在容易穿透的位置动态的设置一个反方向的作用力,来部分抵消移动刚体的动量;动态拦截是一种比较高级的应对方式,在可能穿透的地方设置一个强壮的刚体,通过判断移动刚体的位置,如果将要抵达穿透多发地带,则强壮刚体移动到穿透区,加强穿透区的防御力量。这个方法和刚体叠加的区别是这个可以用于动态刚体的防穿保护,在动态刚体移动的同时,强壮刚体也可以伴随动态刚体移动,直到通过穿透易发区为止,强壮刚体就像是特殊路段的保镖一样。
这些方法都有不同场景下的适用性,多个方法协同作用大大降低了刚体穿透的问题。 还有减少物体速度也可以减少穿透
javascript关于box2djs和matterjs之间的选择的更多相关文章
- 利用 XPath-jQuery 集锦手册在 XPath 和 jQuery 之间做选择
利用 XPath-jQuery 集锦手册在 XPath 和 jQuery 之间做选择 利用 XPath-jQuery 集锦手册在 XPath 和 jQuery 之间做选择
- 如何在Power BI和Tableau之间进行选择?
作者:Mike Gallucci 如今,当谈到商业智能(BI)分析软件时,有两个主要的行业领导者 - 微软的Power BI和Tableau.根据分析和业务平台的2018年Gartner Magic ...
- JavaScript求两个数字之间所有数字的和
这是在fcc上的中级算法中的第一题,拉出来的原因并不是因为有什么好说的,而是我刚看时以为是求两个数字的和, 很显然错了.我感觉自己的文字理解能力被严重鄙视了- -.故拉出来折腾折腾. 要求: 给你一个 ...
- 移动端城市选择JavaScript插件(基于WG的城市选择插件的修改版本)
周末的时候趁着一次机会,拿WG(博客)开发的城市选择插件改了一个移动端可以直接用的城市选择插件. 原版插件是基于原声JavaScript写的,在此先感谢作者. 我做的只是依照肯德基注册会员的页面的交互 ...
- JavaScript中this和$(this)之间的区别以及extend的使用
jQuery中this和$(this)之间的区别: this返回的是当前对象的html对象,而$(this)返回的是当前对象的jQuery对象 举个正确的Demo实例: $("#textbo ...
- JavaScript 三种绑定事件方式之间的区别
JavaScript三种绑定事件的方式: 1. <div id="btn" onclick="clickone()"></div> // ...
- Javascript中的冒泡排序,插入排序,选择排序,快速排序,归并排序,堆排序 算法性能分析
阿里面试中有一道题是这样的: 请用JavaScript语言实现 sort 排序函数,要求:sort([5, 100, 6, 3, -12]) // 返回 [-12, 3, 5, 6, 100],如果你 ...
- C++中,如何在标准库的std::string和常用库(Qt,VC等)的QString之间进行选择?
假设一个场景:在写GUI程序的时候,如果GUI库和STL都提供了某个功能(比如容器字符串),应该如何在两个库之间选择? 做法是分层,比如分为frontend+core.开发core的时候只用STL,保 ...
- JavaScript ,Python,java,Go系列算法之选择排序
常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等. 用一张图概括: 选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n2) ...
随机推荐
- UVA - 12099 The Bookcase
No wonder the old bookcase caved under the massive piles of books Tom had stacked on it. He had bett ...
- 最新2019Pycharm安装破解教程!内附破解码!
本教程仅用作个人学习,请勿用于商业获利,造成后果自负!!! Pycharm安装 在这插一个小话题哈,Pycharm只是一个编译器,并不能代替Python,如果要使用Python,还是需要安装Pytho ...
- JavaScript ES6函数式编程(一):闭包与高阶函数
函数式编程的历史 函数的第一原则是要小,第二原则则是要更小 -- ROBERT C. MARTIN 解释一下上面那句话,就是我们常说的一个函数只做一件事,比如:将字符串首字母和尾字母都改成大写,我们此 ...
- maven在线自动更新太慢怎么办?
使用IDEA和Eclipse开发maven项目时,maven在添加一项新的依赖时,如果发现本地仓库没有,就会向位于国外服务器的中央仓库下载.如果所处网络没有翻墙,下载速度会慢到你想原地爆炸. 这个时候 ...
- ride工具使用
1.新建project,suite, testcase (1) 新建project:file->new project ,输入工程名,选择Type选directory,选择工程存放路径,ok ...
- kafka JavaAPI遇到的坑
症状:Producer连不上,提示没有可用Node. 解决:在安装kafka的目录中配置server.properties 1.listeners=PLAINTEXT://:9092或listener ...
- Myeclipse 反编译工具插件
JadClipse是java的反编译工具,是命令行执行,反编译出来的源文件可读性较高.可惜用起来不太方便.还好 找到myeclipse下的插件,叫JadClipse,安装好之后,只要双击.class文 ...
- Cassandra官方介绍及安装
Cassandra官方介绍及安装 这个数据库有很高的伸缩性和可用性,你完全不需要向性能妥协.在硬件或者云设施上做修改 官网:Cassandra官网 一.简介 cassandra这个数据库有很高的伸缩性 ...
- idea的tomcat实现热部署遇到的问题
选择Deployment的时候,要选择exploded结尾的,否则不支持热部署
- LeetCode 1: single-number
Given an array of integers, every element appears twice except for one. Find that single one. soluti ...