问题描述
我正在为我的等距游戏尝试模拟弹跳球对整体的效果。我有一个代码可以做到这一点,并且可以通过以下链接正常运行: https://physics.stackexchange.com/questions/256468/model-formula-for-bouncing-ball#:~:text=The%20coefficient%20of%20restitution%20is,ball%20it%20is%20around%200.75。
我想将产生的运动即(h)转换为iso。我最终得到了两个等式
// Walk from current postion in ISO line
transform.position = new Vector2(transform.position.x + oneCellSize,transform.position.y + (oneCellSize * IsoRatio));
// Perfect bouncing effect on ISO line but in wrong position
transform.position = new Vector2(transform.position.x + 0.02f,(transform.position.x + oneCellSize) * IsoRatio + BallHightOnTime );
但是我无法将它们合并在一起,因为第二个正在使用x位置。当我尝试更改为y时,它只是以一种疯狂的方式移动。
解决方法
使用一些帮助对象,我通过创建一个单独的矢量来解决我的问题,该矢量根据ISO线移动,然后在添加计算出的高度后将其分配给球位置。
谢谢你们的帮助。