Navigation

    CreatiCode Scratch Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode

    二维物理的运动和旋转速度

    二维积木
    1
    1
    202
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • info-creaticode
      CreatiCode last edited by admin

      介绍

      将角色被添加到物理世界后,物理引擎将负责控制它的行为。如果你要让它移动或转动,你需要对其施加一些外力,然后让物理引擎计算角色对这个力应有什么样的反应。

      但是,你也可以根据需要直接设置角色的移动和旋转速度。如果您想精确设置物体的速度,这个方法通常会更方便。这就像对物理引擎这样讲:“我知道你正在为我处理这个角色,但我现在需要这个角色以正好每秒 30 个单位的速度向右移动,所以请立即实现它!”。

       
       

      设置 X 和 Y 速度

      你可以使用以下 2 个积木直接设置角色在 X 和 Y 方向上的速度:

      a2301377-6657-4d50-9c11-e635cbd297f1-image.png

       
      X 速度是角色每秒向右移动多少个单位。如果它小于 0,则角色将向左移动。例如,舞台的宽度是 480,那么如果一个角色的 X 速度是 100,那么它从舞台的左边缘移动到右边缘需要 4.8 秒。

      Y 速度是角色向上移动的速度。如果 Y 速度小于 0,则角色会向下移动。

      请注意,要设置角色的速度,它必须被配置为“动态的”或“可设置速度的”。换句话说,“固定的”角色将忽略这两个积木。

      此外,设置角色的 X 速度不会影响其 Y 速度。这对于平台游戏很有用:你可以设置 X 速度以使角色向左或向右移动,但使用物理引擎来模拟重力对其 Y 速度的影响。

       
       

      速度在设置后可能会改变

      对于“动态的”角色,它的速度可能会在你设置后由于其他力或碰撞而改变。

      例如,我们可以将圆圈的 Y 速度设置为200,让它往上走,但它稍后就会因为重力的原因被拉下来,变成负的 Y 速度。

      sc.gif

       
      要使角色始终保持你指定的速度,你需要不断的重新设置该速度,或者改用“可设置速度的”角色类型。

       
       

      同时设置速度的大小和方向

      有时你只想让一个物体朝某个特定的方向移动。你可以使用以下积木直接指定速度和方向,而无须分别设置 X 和 Y 速度:

      19c45466-5679-4059-8203-3e825085109f-image.png
       
      速度值仍然是角色每秒行进的距离。方向值在0到360之间,与“指向方向”积木中的方向意义相同。例如,如果方向为 90 度,则角色将向右移动。

       
       

      旋转速度

      除了设置移动速度外,你还可以使用以下积木让角色围绕其自身的中心旋转:

      57030c16-5e90-453c-a85f-a92480645a49-image.png

       
      输入值是角色每秒旋转的度数。例如,如果将其设置为 180,则角色将在 2 秒内转一整圈。

      如果这个值为正,角色将顺时针旋转;如果为负值,角色将逆时针旋转。

       
       

      指向速度方向

      如果你需要让角色面向它移动的方向,你可以使用以下积木:

      3f654d87-29e5-455b-b881-b7ce875e8914-image.png
       
      例如,对于驾驶汽车的自上而下的游戏,在设置汽车的 X 和 Y 速度后,你可以使用此积木设置其朝向。

      1 Reply Last reply Reply Quote 0
      • First post
        Last post