《野蛮人大作战》H5项目从开发到上线

就是腾讯的团队吧

马克一波

mark

放在这个目录下就可以了 C:\Users\Administrator.CocosCreator

能否详细说下帧同步物理引擎需要修订的地方

之前仿照过野蛮人app做个一款类似的单机游戏,项目立项只有两个月,撸代码撸到出血,还只有一个人

H5 我们修改 box2d.js里面所有的math函数,目前可以同步。
c++版本的box2d还在研究

刚体少点, 就算不处理, 差别也会太大.[quote=“luosixiang, post:35, topic:66181”]
H5 我们修改 box2d.js里面所有的math函数,目前可以同步。
[/quote]

不可能完全同步的, 你打印结果的坐标了吗? 能坚持两三分钟就不错了. 刚体多的话, 1分钟就会产生差异.

你用引擎自带的BOX2D吗? 还是重新下的? 引擎自带的测试效果不如GITHUB上找的B2引擎.

把三角函数的计算全部改成查表法, 去掉不必要的计算,我们用的是官方自带的box2djs 修改的。
按照楼主贴图的修改方案

box2djs的修改量相对来说还是比较小, 昨天问了官方, 2.X 真机环境和H5环境用的都是box2djs, C++版本的box2d只是没删掉, 但是已经没有使用了。

mark

mark

作为一个之前玩你们端游氪了不少的玩家,看到原来是cocos开发的,表示很惊讶

1赞

可以发下box2djs修改后的过来?谢谢

这个游戏凉了?:sweat_smile:

我准备做的项目对物理场景要求不高,刚体比较少,只是想用一下碰撞系统,但是不知道碰撞系统这块怎么去修改支持帧同步,物理运动我自己可以简单模拟

三角函数换查表库, 随机数什么的自己实现

角度一共就360度 , 所有角度的三角函数计算结果提前保存好

1赞

let obj = {x:0,y:0};
let obj2 = obj;
obj2.x = 1;
cosole.log(obj.x) // 1
原因是 直接 obj2 = obj 在js里面是浅拷贝;ojb2,obj都是引用的同一个堆地址,指向{x:0,y:0}
最简单的解决方式
let obj2 = {…obj}