二维物理的运动和旋转速度
-
介绍
将角色被添加到物理世界后,物理引擎将负责控制它的行为。如果你要让它移动或转动,你需要对其施加一些外力,然后让物理引擎计算角色对这个力应有什么样的反应。
但是,你也可以根据需要直接设置角色的移动和旋转速度。如果您想精确设置物体的速度,这个方法通常会更方便。这就像对物理引擎这样讲:“我知道你正在为我处理这个角色,但我现在需要这个角色以正好每秒 30 个单位的速度向右移动,所以请立即实现它!”。
设置 X 和 Y 速度
你可以使用以下 2 个积木直接设置角色在 X 和 Y 方向上的速度:
X 速度是角色每秒向右移动多少个单位。如果它小于 0,则角色将向左移动。例如,舞台的宽度是 480,那么如果一个角色的 X 速度是 100,那么它从舞台的左边缘移动到右边缘需要 4.8 秒。Y 速度是角色向上移动的速度。如果 Y 速度小于 0,则角色会向下移动。
请注意,要设置角色的速度,它必须被配置为“动态的”或“可设置速度的”。换句话说,“固定的”角色将忽略这两个积木。
此外,设置角色的 X 速度不会影响其 Y 速度。这对于平台游戏很有用:你可以设置 X 速度以使角色向左或向右移动,但使用物理引擎来模拟重力对其 Y 速度的影响。
速度在设置后可能会改变
对于“动态的”角色,它的速度可能会在你设置后由于其他力或碰撞而改变。
例如,我们可以将圆圈的 Y 速度设置为200,让它往上走,但它稍后就会因为重力的原因被拉下来,变成负的 Y 速度。
要使角色始终保持你指定的速度,你需要不断的重新设置该速度,或者改用“可设置速度的”角色类型。
同时设置速度的大小和方向
有时你只想让一个物体朝某个特定的方向移动。你可以使用以下积木直接指定速度和方向,而无须分别设置 X 和 Y 速度:
速度值仍然是角色每秒行进的距离。方向值在0到360之间,与“指向方向”积木中的方向意义相同。例如,如果方向为 90 度,则角色将向右移动。
旋转速度
除了设置移动速度外,你还可以使用以下积木让角色围绕其自身的中心旋转:
输入值是角色每秒旋转的度数。例如,如果将其设置为 180,则角色将在 2 秒内转一整圈。如果这个值为正,角色将顺时针旋转;如果为负值,角色将逆时针旋转。
指向速度方向
如果你需要让角色面向它移动的方向,你可以使用以下积木:
例如,对于驾驶汽车的自上而下的游戏,在设置汽车的 X 和 Y 速度后,你可以使用此积木设置其朝向。